@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.
- package/README.md +3 -3
- package/abp-ng.account.d.ts +5 -5
- package/bundles/abp-ng.account-config.umd.js +78 -78
- package/bundles/abp-ng.account-config.umd.js.map +1 -1
- package/bundles/abp-ng.account.umd.js +893 -893
- package/bundles/abp-ng.account.umd.js.map +1 -1
- package/config/abp-ng.account-config.d.ts +5 -5
- package/config/account-config.module.d.ts +8 -8
- package/config/enums/index.d.ts +1 -1
- package/config/enums/route-names.d.ts +8 -8
- package/config/providers/index.d.ts +1 -1
- package/config/providers/route.provider.d.ts +8 -8
- package/config/public-api.d.ts +3 -3
- package/config/utils/factories.d.ts +2 -2
- package/esm2015/abp-ng.account.js +4 -4
- package/esm2015/config/abp-ng.account-config.js +4 -4
- package/esm2015/config/account-config.module.js +27 -27
- package/esm2015/config/enums/index.js +2 -2
- package/esm2015/config/enums/route-names.js +2 -2
- package/esm2015/config/providers/index.js +2 -2
- package/esm2015/config/providers/route.provider.js +50 -50
- package/esm2015/config/public-api.js +4 -4
- package/esm2015/config/utils/factories.js +11 -11
- package/esm2015/lib/account-routing.module.js +89 -89
- package/esm2015/lib/account.module.js +85 -85
- package/esm2015/lib/components/change-password/change-password.component.js +90 -90
- package/esm2015/lib/components/forgot-password/forgot-password.component.js +46 -46
- package/esm2015/lib/components/index.js +8 -8
- package/esm2015/lib/components/login/login.component.js +68 -68
- package/esm2015/lib/components/manage-profile/manage-profile.component.js +50 -50
- package/esm2015/lib/components/personal-settings/personal-settings.component.js +59 -59
- package/esm2015/lib/components/register/register.component.js +87 -87
- package/esm2015/lib/components/reset-password/reset-password.component.js +71 -71
- package/esm2015/lib/enums/components.js +2 -2
- package/esm2015/lib/enums/index.js +2 -2
- package/esm2015/lib/guards/authentication-flow.guard.js +21 -21
- package/esm2015/lib/guards/index.js +2 -2
- package/esm2015/lib/models/account.js +3 -3
- package/esm2015/lib/models/config-options.js +2 -2
- package/esm2015/lib/models/index.js +3 -3
- package/esm2015/lib/services/index.js +2 -2
- package/esm2015/lib/services/manage-profile.state.service.js +27 -27
- package/esm2015/lib/tokens/config-options.token.js +3 -3
- package/esm2015/lib/tokens/index.js +2 -2
- package/esm2015/lib/utils/auth-utils.js +8 -8
- package/esm2015/lib/utils/factory-utils.js +4 -4
- package/esm2015/public-api.js +8 -8
- package/fesm2015/abp-ng.account-config.js +75 -75
- package/fesm2015/abp-ng.account-config.js.map +1 -1
- package/fesm2015/abp-ng.account.js +545 -545
- package/fesm2015/abp-ng.account.js.map +1 -1
- package/lib/account-routing.module.d.ts +7 -7
- package/lib/account.module.d.ts +22 -22
- package/lib/components/change-password/change-password.component.d.ts +24 -24
- package/lib/components/forgot-password/forgot-password.component.d.ts +14 -14
- package/lib/components/index.d.ts +7 -7
- package/lib/components/login/login.component.d.ts +24 -24
- package/lib/components/manage-profile/manage-profile.component.d.ts +18 -18
- package/lib/components/personal-settings/personal-settings.component.d.ts +21 -21
- package/lib/components/register/register.component.d.ts +26 -26
- package/lib/components/reset-password/reset-password.component.d.ts +22 -22
- package/lib/enums/components.d.ts +11 -11
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/authentication-flow.guard.d.ts +10 -10
- package/lib/guards/index.d.ts +1 -1
- package/lib/models/account.d.ts +14 -14
- package/lib/models/config-options.d.ts +3 -3
- package/lib/models/index.d.ts +2 -2
- package/lib/services/index.d.ts +1 -1
- package/lib/services/manage-profile.state.service.d.ts +29 -29
- package/lib/tokens/config-options.token.d.ts +3 -3
- package/lib/tokens/index.d.ts +1 -1
- package/lib/utils/auth-utils.d.ts +2 -2
- package/lib/utils/factory-utils.d.ts +4 -4
- package/package.json +4 -4
- package/public-api.d.ts +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.account.js","sources":["../../../../packages/account/src/lib/components/forgot-password/forgot-password.component.ts","../../../../packages/account/src/lib/components/forgot-password/forgot-password.component.html","../../../../packages/account/src/lib/tokens/config-options.token.ts","../../../../packages/account/src/lib/utils/auth-utils.ts","../../../../packages/account/src/lib/components/login/login.component.ts","../../../../packages/account/src/lib/components/login/login.component.html","../../../../packages/account/src/lib/services/manage-profile.state.service.ts","../../../../packages/account/src/lib/components/change-password/change-password.component.ts","../../../../packages/account/src/lib/components/change-password/change-password.component.html","../../../../packages/account/src/lib/components/personal-settings/personal-settings.component.ts","../../../../packages/account/src/lib/components/personal-settings/personal-settings.component.html","../../../../packages/account/src/lib/components/manage-profile/manage-profile.component.ts","../../../../packages/account/src/lib/components/manage-profile/manage-profile.component.html","../../../../packages/account/src/lib/components/register/register.component.ts","../../../../packages/account/src/lib/components/register/register.component.html","../../../../packages/account/src/lib/components/reset-password/reset-password.component.ts","../../../../packages/account/src/lib/components/reset-password/reset-password.component.html","../../../../packages/account/src/lib/guards/authentication-flow.guard.ts","../../../../packages/account/src/lib/account-routing.module.ts","../../../../packages/account/src/lib/utils/factory-utils.ts","../../../../packages/account/src/lib/account.module.ts","../../../../packages/account/src/lib/models/account.ts","../../../../packages/account/src/abp-ng.account.ts"],"sourcesContent":["import { AccountService } from '@abp/ng.account.core/proxy';\r\nimport { Component } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'abp-forgot-password',\r\n templateUrl: 'forgot-password.component.html',\r\n})\r\nexport class ForgotPasswordComponent {\r\n form: FormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n isEmailSent = false;\r\n\r\n constructor(private fb: FormBuilder, private accountService: AccountService) {\r\n this.form = this.fb.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid) return;\r\n\r\n this.inProgress = true;\r\n\r\n this.accountService\r\n .sendPasswordResetCode({\r\n email: this.form.get('email').value,\r\n appName: 'Angular',\r\n })\r\n .pipe(finalize(() => (this.inProgress = false)))\r\n .subscribe(() => {\r\n this.isEmailSent = true;\r\n });\r\n }\r\n}\r\n","<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","import { InjectionToken } from '@angular/core';\r\nimport { AccountConfigOptions } from '../models/config-options';\r\n\r\nexport const ACCOUNT_CONFIG_OPTIONS = new InjectionToken<AccountConfigOptions>(\r\n 'ACCOUNT_CONFIG_OPTIONS',\r\n);\r\n","import { Injector } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ACCOUNT_CONFIG_OPTIONS } from '../tokens/config-options.token';\r\n\r\nexport function getRedirectUrl(injector: Injector) {\r\n const route = injector.get(ActivatedRoute);\r\n const options = injector.get(ACCOUNT_CONFIG_OPTIONS);\r\n return route.snapshot.queryParams.returnUrl || options.redirectUrl || '/';\r\n}\r\n","import { AuthService, ConfigStateService } from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, Injector, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError, finalize } from 'rxjs/operators';\r\nimport { eAccountComponents } from '../../enums/components';\r\nimport { getRedirectUrl } from '../../utils/auth-utils';\r\n\r\nconst { maxLength, required } = Validators;\r\n\r\n@Component({\r\n selector: 'abp-login',\r\n templateUrl: './login.component.html',\r\n})\r\nexport class LoginComponent implements OnInit {\r\n form: FormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n isSelfRegistrationEnabled = true;\r\n\r\n authWrapperKey = eAccountComponents.AuthWrapper;\r\n\r\n constructor(\r\n protected injector: Injector,\r\n protected fb: FormBuilder,\r\n protected toasterService: ToasterService,\r\n protected authService: AuthService,\r\n protected configState: ConfigStateService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.buildForm();\r\n }\r\n\r\n protected init() {\r\n this.isSelfRegistrationEnabled =\r\n (\r\n (this.configState.getSetting('Abp.Account.IsSelfRegistrationEnabled') as string) || ''\r\n ).toLowerCase() !== 'false';\r\n }\r\n\r\n protected buildForm() {\r\n this.form = this.fb.group({\r\n username: ['', [required, maxLength(255)]],\r\n password: ['', [required, maxLength(128)]],\r\n rememberMe: [false],\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid) return;\r\n\r\n this.inProgress = true;\r\n\r\n const { username, password, rememberMe } = this.form.value;\r\n\r\n const redirectUrl = getRedirectUrl(this.injector);\r\n\r\n this.authService\r\n .login({ username, password, rememberMe, redirectUrl })\r\n .pipe(\r\n catchError(err => {\r\n this.toasterService.error(\r\n err.error?.error_description ||\r\n err.error?.error.message ||\r\n 'AbpAccount::DefaultErrorMessage',\r\n null,\r\n { life: 7000 },\r\n );\r\n return throwError(err);\r\n }),\r\n finalize(() => (this.inProgress = false)),\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","<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","import { InternalStore } from '@abp/ng.core';\r\nimport { ProfileDto } from '@abp/ng.account.core/proxy';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ManageProfileState {\r\n profile: ProfileDto;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ManageProfileStateService {\r\n private readonly store = new InternalStore({} as ManageProfileState);\r\n\r\n get createOnUpdateStream() {\r\n return this.store.sliceUpdate;\r\n }\r\n\r\n getProfile$(): Observable<ProfileDto> {\r\n return this.store.sliceState(state => state.profile);\r\n }\r\n\r\n getProfile(): ProfileDto {\r\n return this.store.state.profile;\r\n }\r\n\r\n setProfile(profile: ProfileDto) {\r\n this.store.patch({ profile });\r\n }\r\n}\r\n","import { ProfileService } from '@abp/ng.account.core/proxy';\r\nimport { getPasswordValidators, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, Injector, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { comparePasswords, Validation } from '@ngx-validate/core';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { Account } from '../../models/account';\r\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\r\n\r\nconst { required } = Validators;\r\n\r\nconst PASSWORD_FIELDS = ['newPassword', 'repeatNewPassword'];\r\n\r\n@Component({\r\n selector: 'abp-change-password-form',\r\n templateUrl: './change-password.component.html',\r\n exportAs: 'abpChangePasswordForm',\r\n})\r\nexport class ChangePasswordComponent\r\n implements OnInit, Account.ChangePasswordComponentInputs, Account.ChangePasswordComponentOutputs\r\n{\r\n form: FormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n hideCurrentPassword: boolean;\r\n\r\n mapErrorsFn: Validation.MapErrorsFn = (errors, groupErrors, control) => {\r\n if (PASSWORD_FIELDS.indexOf(String(control.name)) < 0) return errors;\r\n\r\n return errors.concat(groupErrors.filter(({ key }) => key === 'passwordMismatch'));\r\n };\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private injector: Injector,\r\n private toasterService: ToasterService,\r\n private profileService: ProfileService,\r\n private manageProfileState: ManageProfileStateService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.hideCurrentPassword = !this.manageProfileState.getProfile()?.hasPassword;\r\n\r\n const passwordValidations = getPasswordValidators(this.injector);\r\n\r\n this.form = this.fb.group(\r\n {\r\n password: ['', required],\r\n newPassword: [\r\n '',\r\n {\r\n validators: [required, ...passwordValidations],\r\n },\r\n ],\r\n repeatNewPassword: [\r\n '',\r\n {\r\n validators: [required, ...passwordValidations],\r\n },\r\n ],\r\n },\r\n {\r\n validators: [comparePasswords(PASSWORD_FIELDS)],\r\n },\r\n );\r\n\r\n if (this.hideCurrentPassword) this.form.removeControl('password');\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid) return;\r\n this.inProgress = true;\r\n this.profileService\r\n .changePassword({\r\n ...(!this.hideCurrentPassword && { currentPassword: this.form.get('password').value }),\r\n newPassword: this.form.get('newPassword').value,\r\n })\r\n .pipe(finalize(() => (this.inProgress = false)))\r\n .subscribe({\r\n next: () => {\r\n this.form.reset();\r\n this.toasterService.success('AbpAccount::PasswordChangedMessage', '', {\r\n life: 5000,\r\n });\r\n\r\n if (this.hideCurrentPassword) {\r\n this.hideCurrentPassword = false;\r\n this.form.addControl('password', new FormControl('', [required]));\r\n }\r\n },\r\n error: err => {\r\n this.toasterService.error(err.error?.error?.message || 'AbpAccount::DefaultErrorMessage');\r\n },\r\n });\r\n }\r\n}\r\n","<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","import { ProfileService } from '@abp/ng.account.core/proxy';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { Account } from '../../models/account';\r\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\r\n\r\nconst { maxLength, required, email } = Validators;\r\n\r\n@Component({\r\n selector: 'abp-personal-settings-form',\r\n templateUrl: './personal-settings.component.html',\r\n exportAs: 'abpPersonalSettingsForm',\r\n})\r\nexport class PersonalSettingsComponent\r\n implements\r\n OnInit,\r\n Account.PersonalSettingsComponentInputs,\r\n Account.PersonalSettingsComponentOutputs\r\n{\r\n form: FormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private toasterService: ToasterService,\r\n private profileService: ProfileService,\r\n private manageProfileState: ManageProfileStateService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.buildForm();\r\n }\r\n\r\n buildForm() {\r\n const profile = this.manageProfileState.getProfile();\r\n this.form = this.fb.group({\r\n userName: [profile.userName, [required, maxLength(256)]],\r\n email: [profile.email, [required, email, maxLength(256)]],\r\n name: [profile.name || '', [maxLength(64)]],\r\n surname: [profile.surname || '', [maxLength(64)]],\r\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\r\n });\r\n }\r\n\r\n submit() {\r\n if (this.form.invalid) return;\r\n this.inProgress = true;\r\n this.profileService\r\n .update(this.form.value)\r\n .pipe(finalize(() => (this.inProgress = false)))\r\n .subscribe(profile => {\r\n this.manageProfileState.setProfile(profile);\r\n this.toasterService.success('AbpAccount::PersonalSettingsSaved', 'Success', { life: 5000 });\r\n });\r\n }\r\n}\r\n","<form validateOnSubmit *ngIf=\"form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"username\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:UserName' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"text\"\r\n id=\"username\"\r\n class=\"form-control\"\r\n formControlName=\"userName\"\r\n autofocus\r\n (keydown.space)=\"$event.preventDefault()\"\r\n />\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"name\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:Name' | abpLocalization\r\n }}</label\r\n ><input type=\"text\" id=\"name\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n </div>\r\n <div class=\"col col-md-6\">\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"surname\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:Surname' | abpLocalization\r\n }}</label\r\n ><input type=\"text\" id=\"surname\" class=\"form-control\" formControlName=\"surname\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"email-address\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:Email' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input type=\"text\" id=\"email-address\" class=\"form-control\" formControlName=\"email\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"phone-number\" class=\"form-label\">{{\r\n 'AbpIdentity::DisplayName:PhoneNumber' | abpLocalization\r\n }}</label\r\n ><input type=\"text\" id=\"phone-number\" class=\"form-control\" formControlName=\"phoneNumber\" />\r\n </div>\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n [loading]=\"inProgress\"\r\n [disabled]=\"form?.invalid\"\r\n >\r\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n","import { ProfileService } from '@abp/ng.account.core/proxy';\r\nimport { fadeIn } from '@abp/ng.theme.shared';\r\nimport { transition, trigger, useAnimation } from '@angular/animations';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { eAccountComponents } from '../../enums/components';\r\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\r\n\r\n@Component({\r\n selector: 'abp-manage-profile',\r\n templateUrl: './manage-profile.component.html',\r\n animations: [trigger('fadeIn', [transition(':enter', useAnimation(fadeIn))])],\r\n styles: [\r\n `\r\n .min-h-400 {\r\n min-height: 400px;\r\n }\r\n `,\r\n ],\r\n})\r\nexport class ManageProfileComponent implements OnInit {\r\n selectedTab = 0;\r\n\r\n changePasswordKey = eAccountComponents.ChangePassword;\r\n\r\n personalSettingsKey = eAccountComponents.PersonalSettings;\r\n\r\n profile$ = this.manageProfileState.getProfile$();\r\n\r\n hideChangePasswordTab: boolean;\r\n\r\n constructor(\r\n protected profileService: ProfileService,\r\n protected manageProfileState: ManageProfileStateService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.profileService.get().subscribe(profile => {\r\n this.manageProfileState.setProfile(profile);\r\n if (profile.isExternal) {\r\n this.hideChangePasswordTab = true;\r\n this.selectedTab = 1;\r\n }\r\n });\r\n }\r\n}\r\n","<div id=\"AbpContentToolbar\"></div>\r\n\r\n<div class=\"card border-0 shadow-sm min-h-400\" [abpLoading]=\"!(profile$ | async)?.userName\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <li\r\n *ngIf=\"!hideChangePasswordTab && (profile$ | async)\"\r\n class=\"nav-item\"\r\n (click)=\"selectedTab = 0\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [ngClass]=\"{ active: selectedTab === 0 }\"\r\n role=\"tab\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUi::ChangePassword' | abpLocalization }}</a\r\n >\r\n </li>\r\n <li class=\"nav-item mb-2\" (click)=\"selectedTab = 1\">\r\n <a\r\n class=\"nav-link\"\r\n [ngClass]=\"{ active: selectedTab === 1 }\"\r\n role=\"tab\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpAccount::PersonalSettings' | abpLocalization }}</a\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"profile$ | async\" class=\"col-12 col-md-9\">\r\n <div class=\"tab-content\" *ngIf=\"selectedTab === 0\" [@fadeIn]>\r\n <div class=\"tab-pane active\" role=\"tabpanel\">\r\n <h4>\r\n {{ 'AbpIdentity::ChangePassword' | abpLocalization }}\r\n <hr />\r\n </h4>\r\n <abp-change-password-form\r\n *abpReplaceableTemplate=\"{\r\n componentKey: changePasswordKey\r\n }\"\r\n ></abp-change-password-form>\r\n </div>\r\n </div>\r\n <div class=\"tab-content\" *ngIf=\"selectedTab === 1\" [@fadeIn]>\r\n <div class=\"tab-pane active\" role=\"tabpanel\">\r\n <h4>\r\n {{ 'AbpIdentity::PersonalSettings' | abpLocalization }}\r\n <hr />\r\n </h4>\r\n <abp-personal-settings-form\r\n *abpReplaceableTemplate=\"{\r\n componentKey: personalSettingsKey\r\n }\"\r\n ></abp-personal-settings-form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { AccountService, RegisterDto } from '@abp/ng.account.core/proxy';\r\nimport { AuthService, ConfigStateService } from '@abp/ng.core';\r\nimport { getPasswordValidators, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, Injector, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError, finalize, switchMap } from 'rxjs/operators';\r\nimport { eAccountComponents } from '../../enums/components';\r\nimport { getRedirectUrl } from '../../utils/auth-utils';\r\n\r\nconst { maxLength, required, email } = Validators;\r\n\r\n@Component({\r\n selector: 'abp-register',\r\n templateUrl: './register.component.html',\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n form: FormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n isSelfRegistrationEnabled = true;\r\n\r\n authWrapperKey = eAccountComponents.AuthWrapper;\r\n\r\n constructor(\r\n protected fb: FormBuilder,\r\n protected accountService: AccountService,\r\n protected configState: ConfigStateService,\r\n protected toasterService: ToasterService,\r\n protected authService: AuthService,\r\n protected injector: Injector,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.buildForm();\r\n }\r\n\r\n protected init() {\r\n this.isSelfRegistrationEnabled =\r\n (this.configState.getSetting('Abp.Account.IsSelfRegistrationEnabled') || '').toLowerCase() !==\r\n 'false';\r\n\r\n if (!this.isSelfRegistrationEnabled) {\r\n this.toasterService.warn(\r\n {\r\n key: 'AbpAccount::SelfRegistrationDisabledMessage',\r\n defaultValue: 'Self registration is disabled.',\r\n },\r\n null,\r\n { life: 10000 },\r\n );\r\n return;\r\n }\r\n }\r\n\r\n protected buildForm() {\r\n this.form = this.fb.group({\r\n username: ['', [required, maxLength(255)]],\r\n password: ['', [required, ...getPasswordValidators(this.injector)]],\r\n email: ['', [required, email]],\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid) return;\r\n\r\n this.inProgress = true;\r\n\r\n const newUser = {\r\n userName: this.form.get('username').value,\r\n password: this.form.get('password').value,\r\n emailAddress: this.form.get('email').value,\r\n appName: 'Angular',\r\n } as RegisterDto;\r\n\r\n this.accountService\r\n .register(newUser)\r\n .pipe(\r\n switchMap(() =>\r\n this.authService.login({\r\n username: newUser.userName,\r\n password: newUser.password,\r\n redirectUrl: getRedirectUrl(this.injector),\r\n }),\r\n ),\r\n catchError(err => {\r\n this.toasterService.error(\r\n err.error?.error_description ||\r\n err.error?.error.message ||\r\n 'AbpAccount::DefaultErrorMessage',\r\n null,\r\n { life: 7000 },\r\n );\r\n\r\n return throwError(err);\r\n }),\r\n finalize(() => (this.inProgress = false)),\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","<h4>{{ 'AbpAccount::Register' | abpLocalization }}</h4>\r\n<strong>\r\n {{ 'AbpAccount::AlreadyRegistered' | abpLocalization }}\r\n <a class=\"text-decoration-none\" routerLink=\"/account/login\">{{\r\n 'AbpAccount::Login' | abpLocalization\r\n }}</a>\r\n</strong>\r\n<form\r\n *ngIf=\"isSelfRegistrationEnabled\"\r\n [formGroup]=\"form\"\r\n (ngSubmit)=\"onSubmit()\"\r\n validateOnSubmit\r\n class=\"mt-4\"\r\n>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"input-user-name\" class=\"form-label\">{{\r\n 'AbpAccount::UserName' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n autofocus\r\n type=\"text\"\r\n id=\"input-user-name\"\r\n class=\"form-control\"\r\n formControlName=\"username\"\r\n autocomplete=\"username\"\r\n />\r\n </div>\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 <div class=\"mb-3 form-group\">\r\n <label for=\"input-password\" class=\"form-label\">{{\r\n 'AbpAccount::Password' | abpLocalization\r\n }}</label\r\n ><span> * </span\r\n ><input\r\n type=\"password\"\r\n id=\"input-password\"\r\n class=\"form-control\"\r\n formControlName=\"password\"\r\n autocomplete=\"current-password\"\r\n />\r\n </div>\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::Register' | abpLocalization }}\r\n </abp-button>\r\n</form>\r\n","import { AccountService } from '@abp/ng.account.core/proxy';\r\nimport { getPasswordValidators } from '@abp/ng.theme.shared';\r\nimport { Component, Injector, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { comparePasswords, Validation } from '@ngx-validate/core';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nconst PASSWORD_FIELDS = ['password', 'confirmPassword'];\r\n\r\n@Component({\r\n selector: 'abp-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n form: FormGroup;\r\n\r\n inProgress = false;\r\n\r\n isPasswordReset = false;\r\n\r\n mapErrorsFn: Validation.MapErrorsFn = (errors, groupErrors, control) => {\r\n if (PASSWORD_FIELDS.indexOf(String(control.name)) < 0) return errors;\r\n\r\n return errors.concat(groupErrors.filter(({ key }) => key === 'passwordMismatch'));\r\n };\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private accountService: AccountService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private injector: Injector,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe(({ userId, resetToken }) => {\r\n if (!userId || !resetToken) this.router.navigateByUrl('/account/login');\r\n\r\n this.form = this.fb.group(\r\n {\r\n userId: [userId, [Validators.required]],\r\n resetToken: [resetToken, [Validators.required]],\r\n password: ['', [Validators.required, ...getPasswordValidators(this.injector)]],\r\n confirmPassword: ['', [Validators.required, ...getPasswordValidators(this.injector)]],\r\n },\r\n {\r\n validators: [comparePasswords(PASSWORD_FIELDS)],\r\n },\r\n );\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid || this.inProgress) return;\r\n\r\n this.inProgress = true;\r\n\r\n this.accountService\r\n .resetPassword({\r\n userId: this.form.get('userId').value,\r\n resetToken: this.form.get('resetToken').value,\r\n password: this.form.get('password').value,\r\n })\r\n .pipe(finalize(() => (this.inProgress = false)))\r\n .subscribe(() => {\r\n this.isPasswordReset = true;\r\n });\r\n }\r\n}\r\n","<h4>{{ 'AbpAccount::ResetPassword' | abpLocalization }}</h4>\r\n\r\n<form\r\n *ngIf=\"!isPasswordReset; else passwordResetTemplate\"\r\n [formGroup]=\"form\"\r\n [mapErrorsFn]=\"mapErrorsFn\"\r\n (ngSubmit)=\"onSubmit()\"\r\n validateOnSubmit\r\n>\r\n <p>{{ 'AbpAccount::ResetPassword_Information' | abpLocalization }}</p>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"input-password\" class=\"form-label\">{{\r\n 'AbpAccount::Password' | abpLocalization\r\n }}</label\r\n ><span> * </span>\r\n <input type=\"password\" id=\"input-password\" class=\"form-control\" formControlName=\"password\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"input-confirm-password\" class=\"form-label\">{{\r\n 'AbpAccount::ConfirmPassword' | abpLocalization\r\n }}</label\r\n ><span> * </span>\r\n <input\r\n type=\"password\"\r\n id=\"input-confirm-password\"\r\n class=\"form-control\"\r\n formControlName=\"confirmPassword\"\r\n />\r\n </div>\r\n <button class=\"me-2 btn btn-secondary\" type=\"button\" routerLink=\"/account/login\">\r\n {{ 'AbpAccount::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n buttonType=\"submit\"\r\n buttonClass=\"me-2 btn btn-primary\"\r\n [loading]=\"inProgress\"\r\n (click)=\"onSubmit()\"\r\n >\r\n {{ 'AbpAccount::Submit' | abpLocalization }}\r\n </abp-button>\r\n</form>\r\n\r\n<ng-template #passwordResetTemplate>\r\n <p>\r\n {{ 'AbpAccount::YourPasswordIsSuccessfullyReset' | 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\">\r\n {{ 'AbpAccount::BackToLogin' | abpLocalization }}\r\n </button>\r\n </a>\r\n</ng-template>\r\n","import { AuthService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthenticationFlowGuard implements CanActivate {\r\n constructor(private authService: AuthService) {}\r\n\r\n canActivate() {\r\n if (this.authService.isInternalAuth) return true;\r\n\r\n this.authService.navigateToLogin();\r\n return false;\r\n }\r\n}\r\n","import {\r\n AuthGuard,\r\n ReplaceableComponents,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n} from '@abp/ng.core';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { ManageProfileComponent } from './components/manage-profile/manage-profile.component';\r\nimport { RegisterComponent } from './components/register/register.component';\r\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\r\nimport { eAccountComponents } from './enums/components';\r\nimport { AuthenticationFlowGuard } from './guards/authentication-flow.guard';\r\n\r\nconst routes: Routes = [\r\n { path: '', pathMatch: 'full', redirectTo: 'login' },\r\n {\r\n path: '',\r\n component: RouterOutletComponent,\r\n children: [\r\n {\r\n path: 'login',\r\n component: ReplaceableRouteContainerComponent,\r\n canActivate: [AuthenticationFlowGuard],\r\n data: {\r\n replaceableComponent: {\r\n key: eAccountComponents.Login,\r\n defaultComponent: LoginComponent,\r\n } as ReplaceableComponents.RouteData<LoginComponent>,\r\n },\r\n },\r\n {\r\n path: 'register',\r\n component: ReplaceableRouteContainerComponent,\r\n canActivate: [AuthenticationFlowGuard],\r\n data: {\r\n replaceableComponent: {\r\n key: eAccountComponents.Register,\r\n defaultComponent: RegisterComponent,\r\n } as ReplaceableComponents.RouteData<RegisterComponent>,\r\n },\r\n },\r\n {\r\n path: 'forgot-password',\r\n component: ReplaceableRouteContainerComponent,\r\n canActivate: [AuthenticationFlowGuard],\r\n data: {\r\n replaceableComponent: {\r\n key: eAccountComponents.ForgotPassword,\r\n defaultComponent: ForgotPasswordComponent,\r\n } as ReplaceableComponents.RouteData<ForgotPasswordComponent>,\r\n },\r\n },\r\n {\r\n path: 'reset-password',\r\n component: ReplaceableRouteContainerComponent,\r\n canActivate: [],\r\n data: {\r\n tenantBoxVisible: false,\r\n replaceableComponent: {\r\n key: eAccountComponents.ResetPassword,\r\n defaultComponent: ResetPasswordComponent,\r\n } as ReplaceableComponents.RouteData<ResetPasswordComponent>,\r\n },\r\n },\r\n {\r\n path: 'manage',\r\n component: ReplaceableRouteContainerComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n replaceableComponent: {\r\n key: eAccountComponents.ManageProfile,\r\n defaultComponent: ManageProfileComponent,\r\n } as ReplaceableComponents.RouteData<ManageProfileComponent>,\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AccountRoutingModule {}\r\n","import { AccountConfigOptions } from '../models/config-options';\r\n\r\nexport function accountConfigOptionsFactory(options: AccountConfigOptions) {\r\n return {\r\n redirectUrl: '/',\r\n ...options,\r\n };\r\n}\r\n","import { CoreModule, LazyModuleFactory } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { AccountRoutingModule } from './account-routing.module';\r\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { ManageProfileComponent } from './components/manage-profile/manage-profile.component';\r\nimport { PersonalSettingsComponent } from './components/personal-settings/personal-settings.component';\r\nimport { RegisterComponent } from './components/register/register.component';\r\nimport { AccountConfigOptions } from './models/config-options';\r\nimport { ACCOUNT_CONFIG_OPTIONS } from './tokens/config-options.token';\r\nimport { accountConfigOptionsFactory } from './utils/factory-utils';\r\nimport { AuthenticationFlowGuard } from './guards/authentication-flow.guard';\r\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\r\n\r\nconst declarations = [\r\n LoginComponent,\r\n RegisterComponent,\r\n ChangePasswordComponent,\r\n ManageProfileComponent,\r\n PersonalSettingsComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...declarations],\r\n imports: [\r\n CoreModule,\r\n AccountRoutingModule,\r\n ThemeSharedModule,\r\n NgbDropdownModule,\r\n NgxValidateCoreModule,\r\n ],\r\n exports: [...declarations],\r\n})\r\nexport class AccountModule {\r\n static forChild(options = {} as AccountConfigOptions): ModuleWithProviders<AccountModule> {\r\n return {\r\n ngModule: AccountModule,\r\n providers: [\r\n AuthenticationFlowGuard,\r\n { provide: ACCOUNT_CONFIG_OPTIONS, useValue: options },\r\n {\r\n provide: 'ACCOUNT_OPTIONS',\r\n useFactory: accountConfigOptionsFactory,\r\n deps: [ACCOUNT_CONFIG_OPTIONS],\r\n },\r\n ],\r\n };\r\n }\r\n\r\n static forLazy(options = {} as AccountConfigOptions): NgModuleFactory<AccountModule> {\r\n return new LazyModuleFactory(AccountModule.forChild(options));\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-empty-interface */\r\n\r\nexport namespace Account {\r\n export interface TenantBoxComponentInputs {}\r\n export interface TenantBoxComponentOutputs {}\r\n export interface PersonalSettingsComponentInputs {}\r\n export interface PersonalSettingsComponentOutputs {}\r\n export interface ChangePasswordComponentInputs {}\r\n export interface ChangePasswordComponentOutputs {}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["maxLength","required","PASSWORD_FIELDS","email"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.account.js","sources":["../../../../packages/account/src/lib/components/forgot-password/forgot-password.component.ts","../../../../packages/account/src/lib/components/forgot-password/forgot-password.component.html","../../../../packages/account/src/lib/tokens/config-options.token.ts","../../../../packages/account/src/lib/utils/auth-utils.ts","../../../../packages/account/src/lib/components/login/login.component.ts","../../../../packages/account/src/lib/components/login/login.component.html","../../../../packages/account/src/lib/services/manage-profile.state.service.ts","../../../../packages/account/src/lib/components/change-password/change-password.component.ts","../../../../packages/account/src/lib/components/change-password/change-password.component.html","../../../../packages/account/src/lib/components/personal-settings/personal-settings.component.ts","../../../../packages/account/src/lib/components/personal-settings/personal-settings.component.html","../../../../packages/account/src/lib/components/manage-profile/manage-profile.component.ts","../../../../packages/account/src/lib/components/manage-profile/manage-profile.component.html","../../../../packages/account/src/lib/components/register/register.component.ts","../../../../packages/account/src/lib/components/register/register.component.html","../../../../packages/account/src/lib/components/reset-password/reset-password.component.ts","../../../../packages/account/src/lib/components/reset-password/reset-password.component.html","../../../../packages/account/src/lib/guards/authentication-flow.guard.ts","../../../../packages/account/src/lib/account-routing.module.ts","../../../../packages/account/src/lib/utils/factory-utils.ts","../../../../packages/account/src/lib/account.module.ts","../../../../packages/account/src/lib/models/account.ts","../../../../packages/account/src/abp-ng.account.ts"],"sourcesContent":["import { AccountService } from '@abp/ng.account.core/proxy';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\n\n@Component({\n selector: 'abp-forgot-password',\n templateUrl: 'forgot-password.component.html',\n})\nexport class ForgotPasswordComponent {\n form: FormGroup;\n\n inProgress: boolean;\n\n isEmailSent = false;\n\n constructor(private fb: FormBuilder, private accountService: AccountService) {\n this.form = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n this.accountService\n .sendPasswordResetCode({\n email: this.form.get('email').value,\n appName: 'Angular',\n })\n .pipe(finalize(() => (this.inProgress = false)))\n .subscribe(() => {\n this.isEmailSent = true;\n });\n }\n}\n","<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","import { InjectionToken } from '@angular/core';\nimport { AccountConfigOptions } from '../models/config-options';\n\nexport const ACCOUNT_CONFIG_OPTIONS = new InjectionToken<AccountConfigOptions>(\n 'ACCOUNT_CONFIG_OPTIONS',\n);\n","import { Injector } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ACCOUNT_CONFIG_OPTIONS } from '../tokens/config-options.token';\n\nexport function getRedirectUrl(injector: Injector) {\n const route = injector.get(ActivatedRoute);\n const options = injector.get(ACCOUNT_CONFIG_OPTIONS);\n return route.snapshot.queryParams.returnUrl || options.redirectUrl || '/';\n}\n","import { AuthService, ConfigStateService } from '@abp/ng.core';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nimport { eAccountComponents } from '../../enums/components';\nimport { getRedirectUrl } from '../../utils/auth-utils';\n\nconst { maxLength, required } = Validators;\n\n@Component({\n selector: 'abp-login',\n templateUrl: './login.component.html',\n})\nexport class LoginComponent implements OnInit {\n form: FormGroup;\n\n inProgress: boolean;\n\n isSelfRegistrationEnabled = true;\n\n authWrapperKey = eAccountComponents.AuthWrapper;\n\n constructor(\n protected injector: Injector,\n protected fb: FormBuilder,\n protected toasterService: ToasterService,\n protected authService: AuthService,\n protected configState: ConfigStateService,\n ) {}\n\n ngOnInit() {\n this.init();\n this.buildForm();\n }\n\n protected init() {\n this.isSelfRegistrationEnabled =\n (\n (this.configState.getSetting('Abp.Account.IsSelfRegistrationEnabled') as string) || ''\n ).toLowerCase() !== 'false';\n }\n\n protected buildForm() {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, maxLength(128)]],\n rememberMe: [false],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const { username, password, rememberMe } = this.form.value;\n\n const redirectUrl = getRedirectUrl(this.injector);\n\n this.authService\n .login({ username, password, rememberMe, redirectUrl })\n .pipe(\n catchError(err => {\n this.toasterService.error(\n err.error?.error_description ||\n err.error?.error.message ||\n 'AbpAccount::DefaultErrorMessage',\n null,\n { life: 7000 },\n );\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","<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","import { InternalStore } from '@abp/ng.core';\nimport { ProfileDto } from '@abp/ng.account.core/proxy';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport interface ManageProfileState {\n profile: ProfileDto;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ManageProfileStateService {\n private readonly store = new InternalStore({} as ManageProfileState);\n\n get createOnUpdateStream() {\n return this.store.sliceUpdate;\n }\n\n getProfile$(): Observable<ProfileDto> {\n return this.store.sliceState(state => state.profile);\n }\n\n getProfile(): ProfileDto {\n return this.store.state.profile;\n }\n\n setProfile(profile: ProfileDto) {\n this.store.patch({ profile });\n }\n}\n","import { ProfileService } from '@abp/ng.account.core/proxy';\nimport { getPasswordValidators, ToasterService } from '@abp/ng.theme.shared';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { comparePasswords, Validation } from '@ngx-validate/core';\nimport { finalize } from 'rxjs/operators';\nimport { Account } from '../../models/account';\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\n\nconst { required } = Validators;\n\nconst PASSWORD_FIELDS = ['newPassword', 'repeatNewPassword'];\n\n@Component({\n selector: 'abp-change-password-form',\n templateUrl: './change-password.component.html',\n exportAs: 'abpChangePasswordForm',\n})\nexport class ChangePasswordComponent\n implements OnInit, Account.ChangePasswordComponentInputs, Account.ChangePasswordComponentOutputs\n{\n form: FormGroup;\n\n inProgress: boolean;\n\n hideCurrentPassword: boolean;\n\n mapErrorsFn: Validation.MapErrorsFn = (errors, groupErrors, control) => {\n if (PASSWORD_FIELDS.indexOf(String(control.name)) < 0) return errors;\n\n return errors.concat(groupErrors.filter(({ key }) => key === 'passwordMismatch'));\n };\n\n constructor(\n private fb: FormBuilder,\n private injector: Injector,\n private toasterService: ToasterService,\n private profileService: ProfileService,\n private manageProfileState: ManageProfileStateService,\n ) {}\n\n ngOnInit(): void {\n this.hideCurrentPassword = !this.manageProfileState.getProfile()?.hasPassword;\n\n const passwordValidations = getPasswordValidators(this.injector);\n\n this.form = this.fb.group(\n {\n password: ['', required],\n newPassword: [\n '',\n {\n validators: [required, ...passwordValidations],\n },\n ],\n repeatNewPassword: [\n '',\n {\n validators: [required, ...passwordValidations],\n },\n ],\n },\n {\n validators: [comparePasswords(PASSWORD_FIELDS)],\n },\n );\n\n if (this.hideCurrentPassword) this.form.removeControl('password');\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n this.inProgress = true;\n this.profileService\n .changePassword({\n ...(!this.hideCurrentPassword && { currentPassword: this.form.get('password').value }),\n newPassword: this.form.get('newPassword').value,\n })\n .pipe(finalize(() => (this.inProgress = false)))\n .subscribe({\n next: () => {\n this.form.reset();\n this.toasterService.success('AbpAccount::PasswordChangedMessage', '', {\n life: 5000,\n });\n\n if (this.hideCurrentPassword) {\n this.hideCurrentPassword = false;\n this.form.addControl('password', new FormControl('', [required]));\n }\n },\n error: err => {\n this.toasterService.error(err.error?.error?.message || 'AbpAccount::DefaultErrorMessage');\n },\n });\n }\n}\n","<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","import { ProfileService } from '@abp/ng.account.core/proxy';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { Account } from '../../models/account';\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-personal-settings-form',\n templateUrl: './personal-settings.component.html',\n exportAs: 'abpPersonalSettingsForm',\n})\nexport class PersonalSettingsComponent\n implements\n OnInit,\n Account.PersonalSettingsComponentInputs,\n Account.PersonalSettingsComponentOutputs\n{\n form: FormGroup;\n\n inProgress: boolean;\n\n constructor(\n private fb: FormBuilder,\n private toasterService: ToasterService,\n private profileService: ProfileService,\n private manageProfileState: ManageProfileStateService,\n ) {}\n\n ngOnInit() {\n this.buildForm();\n }\n\n buildForm() {\n const profile = this.manageProfileState.getProfile();\n this.form = this.fb.group({\n userName: [profile.userName, [required, maxLength(256)]],\n email: [profile.email, [required, email, maxLength(256)]],\n name: [profile.name || '', [maxLength(64)]],\n surname: [profile.surname || '', [maxLength(64)]],\n phoneNumber: [profile.phoneNumber || '', [maxLength(16)]],\n });\n }\n\n submit() {\n if (this.form.invalid) return;\n this.inProgress = true;\n this.profileService\n .update(this.form.value)\n .pipe(finalize(() => (this.inProgress = false)))\n .subscribe(profile => {\n this.manageProfileState.setProfile(profile);\n this.toasterService.success('AbpAccount::PersonalSettingsSaved', 'Success', { life: 5000 });\n });\n }\n}\n","<form validateOnSubmit *ngIf=\"form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"mb-3 form-group\">\n <label for=\"username\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:UserName' | abpLocalization\n }}</label\n ><span> * </span\n ><input\n type=\"text\"\n id=\"username\"\n class=\"form-control\"\n formControlName=\"userName\"\n autofocus\n (keydown.space)=\"$event.preventDefault()\"\n />\n </div>\n <div class=\"row\">\n <div class=\"col col-md-6\">\n <div class=\"mb-3 form-group\">\n <label for=\"name\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:Name' | abpLocalization\n }}</label\n ><input type=\"text\" id=\"name\" class=\"form-control\" formControlName=\"name\" />\n </div>\n </div>\n <div class=\"col col-md-6\">\n <div class=\"mb-3 form-group\">\n <label for=\"surname\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:Surname' | abpLocalization\n }}</label\n ><input type=\"text\" id=\"surname\" class=\"form-control\" formControlName=\"surname\" />\n </div>\n </div>\n </div>\n <div class=\"mb-3 form-group\">\n <label for=\"email-address\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:Email' | abpLocalization\n }}</label\n ><span> * </span\n ><input type=\"text\" id=\"email-address\" class=\"form-control\" formControlName=\"email\" />\n </div>\n <div class=\"mb-3 form-group\">\n <label for=\"phone-number\" class=\"form-label\">{{\n 'AbpIdentity::DisplayName:PhoneNumber' | abpLocalization\n }}</label\n ><input type=\"text\" id=\"phone-number\" class=\"form-control\" formControlName=\"phoneNumber\" />\n </div>\n <abp-button\n buttonType=\"submit\"\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary color-white\"\n [loading]=\"inProgress\"\n [disabled]=\"form?.invalid\"\n >\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\n >\n</form>\n","import { ProfileService } from '@abp/ng.account.core/proxy';\nimport { fadeIn } from '@abp/ng.theme.shared';\nimport { transition, trigger, useAnimation } from '@angular/animations';\nimport { Component, OnInit } from '@angular/core';\nimport { eAccountComponents } from '../../enums/components';\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\n\n@Component({\n selector: 'abp-manage-profile',\n templateUrl: './manage-profile.component.html',\n animations: [trigger('fadeIn', [transition(':enter', useAnimation(fadeIn))])],\n styles: [\n `\n .min-h-400 {\n min-height: 400px;\n }\n `,\n ],\n})\nexport class ManageProfileComponent implements OnInit {\n selectedTab = 0;\n\n changePasswordKey = eAccountComponents.ChangePassword;\n\n personalSettingsKey = eAccountComponents.PersonalSettings;\n\n profile$ = this.manageProfileState.getProfile$();\n\n hideChangePasswordTab: boolean;\n\n constructor(\n protected profileService: ProfileService,\n protected manageProfileState: ManageProfileStateService,\n ) {}\n\n ngOnInit() {\n this.profileService.get().subscribe(profile => {\n this.manageProfileState.setProfile(profile);\n if (profile.isExternal) {\n this.hideChangePasswordTab = true;\n this.selectedTab = 1;\n }\n });\n }\n}\n","<div id=\"AbpContentToolbar\"></div>\n\n<div class=\"card border-0 shadow-sm min-h-400\" [abpLoading]=\"!(profile$ | async)?.userName\">\n <div class=\"card-body\">\n <div class=\"row\">\n <div class=\"col-12 col-md-3\">\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\n <li\n *ngIf=\"!hideChangePasswordTab && (profile$ | async)\"\n class=\"nav-item\"\n (click)=\"selectedTab = 0\"\n >\n <a\n class=\"nav-link\"\n [ngClass]=\"{ active: selectedTab === 0 }\"\n role=\"tab\"\n href=\"javascript:void(0)\"\n >{{ 'AbpUi::ChangePassword' | abpLocalization }}</a\n >\n </li>\n <li class=\"nav-item mb-2\" (click)=\"selectedTab = 1\">\n <a\n class=\"nav-link\"\n [ngClass]=\"{ active: selectedTab === 1 }\"\n role=\"tab\"\n href=\"javascript:void(0)\"\n >{{ 'AbpAccount::PersonalSettings' | abpLocalization }}</a\n >\n </li>\n </ul>\n </div>\n <div *ngIf=\"profile$ | async\" class=\"col-12 col-md-9\">\n <div class=\"tab-content\" *ngIf=\"selectedTab === 0\" [@fadeIn]>\n <div class=\"tab-pane active\" role=\"tabpanel\">\n <h4>\n {{ 'AbpIdentity::ChangePassword' | abpLocalization }}\n <hr />\n </h4>\n <abp-change-password-form\n *abpReplaceableTemplate=\"{\n componentKey: changePasswordKey\n }\"\n ></abp-change-password-form>\n </div>\n </div>\n <div class=\"tab-content\" *ngIf=\"selectedTab === 1\" [@fadeIn]>\n <div class=\"tab-pane active\" role=\"tabpanel\">\n <h4>\n {{ 'AbpIdentity::PersonalSettings' | abpLocalization }}\n <hr />\n </h4>\n <abp-personal-settings-form\n *abpReplaceableTemplate=\"{\n componentKey: personalSettingsKey\n }\"\n ></abp-personal-settings-form>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { AccountService, RegisterDto } from '@abp/ng.account.core/proxy';\nimport { AuthService, ConfigStateService } from '@abp/ng.core';\nimport { getPasswordValidators, ToasterService } from '@abp/ng.theme.shared';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { throwError } from 'rxjs';\nimport { catchError, finalize, switchMap } from 'rxjs/operators';\nimport { eAccountComponents } from '../../enums/components';\nimport { getRedirectUrl } from '../../utils/auth-utils';\n\nconst { maxLength, required, email } = Validators;\n\n@Component({\n selector: 'abp-register',\n templateUrl: './register.component.html',\n})\nexport class RegisterComponent implements OnInit {\n form: FormGroup;\n\n inProgress: boolean;\n\n isSelfRegistrationEnabled = true;\n\n authWrapperKey = eAccountComponents.AuthWrapper;\n\n constructor(\n protected fb: FormBuilder,\n protected accountService: AccountService,\n protected configState: ConfigStateService,\n protected toasterService: ToasterService,\n protected authService: AuthService,\n protected injector: Injector,\n ) {}\n\n ngOnInit() {\n this.init();\n this.buildForm();\n }\n\n protected init() {\n this.isSelfRegistrationEnabled =\n (this.configState.getSetting('Abp.Account.IsSelfRegistrationEnabled') || '').toLowerCase() !==\n 'false';\n\n if (!this.isSelfRegistrationEnabled) {\n this.toasterService.warn(\n {\n key: 'AbpAccount::SelfRegistrationDisabledMessage',\n defaultValue: 'Self registration is disabled.',\n },\n null,\n { life: 10000 },\n );\n return;\n }\n }\n\n protected buildForm() {\n this.form = this.fb.group({\n username: ['', [required, maxLength(255)]],\n password: ['', [required, ...getPasswordValidators(this.injector)]],\n email: ['', [required, email]],\n });\n }\n\n onSubmit() {\n if (this.form.invalid) return;\n\n this.inProgress = true;\n\n const newUser = {\n userName: this.form.get('username').value,\n password: this.form.get('password').value,\n emailAddress: this.form.get('email').value,\n appName: 'Angular',\n } as RegisterDto;\n\n this.accountService\n .register(newUser)\n .pipe(\n switchMap(() =>\n this.authService.login({\n username: newUser.userName,\n password: newUser.password,\n redirectUrl: getRedirectUrl(this.injector),\n }),\n ),\n catchError(err => {\n this.toasterService.error(\n err.error?.error_description ||\n err.error?.error.message ||\n 'AbpAccount::DefaultErrorMessage',\n null,\n { life: 7000 },\n );\n\n return throwError(err);\n }),\n finalize(() => (this.inProgress = false)),\n )\n .subscribe();\n }\n}\n","<h4>{{ 'AbpAccount::Register' | abpLocalization }}</h4>\n<strong>\n {{ 'AbpAccount::AlreadyRegistered' | abpLocalization }}\n <a class=\"text-decoration-none\" routerLink=\"/account/login\">{{\n 'AbpAccount::Login' | abpLocalization\n }}</a>\n</strong>\n<form\n *ngIf=\"isSelfRegistrationEnabled\"\n [formGroup]=\"form\"\n (ngSubmit)=\"onSubmit()\"\n validateOnSubmit\n class=\"mt-4\"\n>\n <div class=\"mb-3 form-group\">\n <label for=\"input-user-name\" class=\"form-label\">{{\n 'AbpAccount::UserName' | abpLocalization\n }}</label\n ><span> * </span\n ><input\n autofocus\n type=\"text\"\n id=\"input-user-name\"\n class=\"form-control\"\n formControlName=\"username\"\n autocomplete=\"username\"\n />\n </div>\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 <div class=\"mb-3 form-group\">\n <label for=\"input-password\" class=\"form-label\">{{\n 'AbpAccount::Password' | abpLocalization\n }}</label\n ><span> * </span\n ><input\n type=\"password\"\n id=\"input-password\"\n class=\"form-control\"\n formControlName=\"password\"\n autocomplete=\"current-password\"\n />\n </div>\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::Register' | abpLocalization }}\n </abp-button>\n</form>\n","import { AccountService } from '@abp/ng.account.core/proxy';\nimport { getPasswordValidators } from '@abp/ng.theme.shared';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { comparePasswords, Validation } from '@ngx-validate/core';\nimport { finalize } from 'rxjs/operators';\n\nconst PASSWORD_FIELDS = ['password', 'confirmPassword'];\n\n@Component({\n selector: 'abp-reset-password',\n templateUrl: './reset-password.component.html',\n})\nexport class ResetPasswordComponent implements OnInit {\n form: FormGroup;\n\n inProgress = false;\n\n isPasswordReset = false;\n\n mapErrorsFn: Validation.MapErrorsFn = (errors, groupErrors, control) => {\n if (PASSWORD_FIELDS.indexOf(String(control.name)) < 0) return errors;\n\n return errors.concat(groupErrors.filter(({ key }) => key === 'passwordMismatch'));\n };\n\n constructor(\n private fb: FormBuilder,\n private accountService: AccountService,\n private route: ActivatedRoute,\n private router: Router,\n private injector: Injector,\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(({ userId, resetToken }) => {\n if (!userId || !resetToken) this.router.navigateByUrl('/account/login');\n\n this.form = this.fb.group(\n {\n userId: [userId, [Validators.required]],\n resetToken: [resetToken, [Validators.required]],\n password: ['', [Validators.required, ...getPasswordValidators(this.injector)]],\n confirmPassword: ['', [Validators.required, ...getPasswordValidators(this.injector)]],\n },\n {\n validators: [comparePasswords(PASSWORD_FIELDS)],\n },\n );\n });\n }\n\n onSubmit() {\n if (this.form.invalid || this.inProgress) return;\n\n this.inProgress = true;\n\n this.accountService\n .resetPassword({\n userId: this.form.get('userId').value,\n resetToken: this.form.get('resetToken').value,\n password: this.form.get('password').value,\n })\n .pipe(finalize(() => (this.inProgress = false)))\n .subscribe(() => {\n this.isPasswordReset = true;\n });\n }\n}\n","<h4>{{ 'AbpAccount::ResetPassword' | abpLocalization }}</h4>\n\n<form\n *ngIf=\"!isPasswordReset; else passwordResetTemplate\"\n [formGroup]=\"form\"\n [mapErrorsFn]=\"mapErrorsFn\"\n (ngSubmit)=\"onSubmit()\"\n validateOnSubmit\n>\n <p>{{ 'AbpAccount::ResetPassword_Information' | abpLocalization }}</p>\n <div class=\"mb-3 form-group\">\n <label for=\"input-password\" class=\"form-label\">{{\n 'AbpAccount::Password' | abpLocalization\n }}</label\n ><span> * </span>\n <input type=\"password\" id=\"input-password\" class=\"form-control\" formControlName=\"password\" />\n </div>\n <div class=\"mb-3 form-group\">\n <label for=\"input-confirm-password\" class=\"form-label\">{{\n 'AbpAccount::ConfirmPassword' | abpLocalization\n }}</label\n ><span> * </span>\n <input\n type=\"password\"\n id=\"input-confirm-password\"\n class=\"form-control\"\n formControlName=\"confirmPassword\"\n />\n </div>\n <button class=\"me-2 btn btn-secondary\" type=\"button\" routerLink=\"/account/login\">\n {{ 'AbpAccount::Cancel' | abpLocalization }}\n </button>\n <abp-button\n buttonType=\"submit\"\n buttonClass=\"me-2 btn btn-primary\"\n [loading]=\"inProgress\"\n (click)=\"onSubmit()\"\n >\n {{ 'AbpAccount::Submit' | abpLocalization }}\n </abp-button>\n</form>\n\n<ng-template #passwordResetTemplate>\n <p>\n {{ 'AbpAccount::YourPasswordIsSuccessfullyReset' | abpLocalization }}\n </p>\n\n <a routerLink=\"/account/login\">\n <button class=\"d-block mt-2 mb-3 btn btn-primary\">\n {{ 'AbpAccount::BackToLogin' | abpLocalization }}\n </button>\n </a>\n</ng-template>\n","import { AuthService } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\n\n@Injectable()\nexport class AuthenticationFlowGuard implements CanActivate {\n constructor(private authService: AuthService) {}\n\n canActivate() {\n if (this.authService.isInternalAuth) return true;\n\n this.authService.navigateToLogin();\n return false;\n }\n}\n","import {\n AuthGuard,\n ReplaceableComponents,\n ReplaceableRouteContainerComponent,\n RouterOutletComponent,\n} from '@abp/ng.core';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { ManageProfileComponent } from './components/manage-profile/manage-profile.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\nimport { eAccountComponents } from './enums/components';\nimport { AuthenticationFlowGuard } from './guards/authentication-flow.guard';\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n {\n path: '',\n component: RouterOutletComponent,\n children: [\n {\n path: 'login',\n component: ReplaceableRouteContainerComponent,\n canActivate: [AuthenticationFlowGuard],\n data: {\n replaceableComponent: {\n key: eAccountComponents.Login,\n defaultComponent: LoginComponent,\n } as ReplaceableComponents.RouteData<LoginComponent>,\n },\n },\n {\n path: 'register',\n component: ReplaceableRouteContainerComponent,\n canActivate: [AuthenticationFlowGuard],\n data: {\n replaceableComponent: {\n key: eAccountComponents.Register,\n defaultComponent: RegisterComponent,\n } as ReplaceableComponents.RouteData<RegisterComponent>,\n },\n },\n {\n path: 'forgot-password',\n component: ReplaceableRouteContainerComponent,\n canActivate: [AuthenticationFlowGuard],\n data: {\n replaceableComponent: {\n key: eAccountComponents.ForgotPassword,\n defaultComponent: ForgotPasswordComponent,\n } as ReplaceableComponents.RouteData<ForgotPasswordComponent>,\n },\n },\n {\n path: 'reset-password',\n component: ReplaceableRouteContainerComponent,\n canActivate: [],\n data: {\n tenantBoxVisible: false,\n replaceableComponent: {\n key: eAccountComponents.ResetPassword,\n defaultComponent: ResetPasswordComponent,\n } as ReplaceableComponents.RouteData<ResetPasswordComponent>,\n },\n },\n {\n path: 'manage',\n component: ReplaceableRouteContainerComponent,\n canActivate: [AuthGuard],\n data: {\n replaceableComponent: {\n key: eAccountComponents.ManageProfile,\n defaultComponent: ManageProfileComponent,\n } as ReplaceableComponents.RouteData<ManageProfileComponent>,\n },\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AccountRoutingModule {}\n","import { AccountConfigOptions } from '../models/config-options';\n\nexport function accountConfigOptionsFactory(options: AccountConfigOptions) {\n return {\n redirectUrl: '/',\n ...options,\n };\n}\n","import { CoreModule, LazyModuleFactory } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { AccountRoutingModule } from './account-routing.module';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { ManageProfileComponent } from './components/manage-profile/manage-profile.component';\nimport { PersonalSettingsComponent } from './components/personal-settings/personal-settings.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { AccountConfigOptions } from './models/config-options';\nimport { ACCOUNT_CONFIG_OPTIONS } from './tokens/config-options.token';\nimport { accountConfigOptionsFactory } from './utils/factory-utils';\nimport { AuthenticationFlowGuard } from './guards/authentication-flow.guard';\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\n\nconst declarations = [\n LoginComponent,\n RegisterComponent,\n ChangePasswordComponent,\n ManageProfileComponent,\n PersonalSettingsComponent,\n ForgotPasswordComponent,\n ResetPasswordComponent,\n];\n\n@NgModule({\n declarations: [...declarations],\n imports: [\n CoreModule,\n AccountRoutingModule,\n ThemeSharedModule,\n NgbDropdownModule,\n NgxValidateCoreModule,\n ],\n exports: [...declarations],\n})\nexport class AccountModule {\n static forChild(options = {} as AccountConfigOptions): ModuleWithProviders<AccountModule> {\n return {\n ngModule: AccountModule,\n providers: [\n AuthenticationFlowGuard,\n { provide: ACCOUNT_CONFIG_OPTIONS, useValue: options },\n {\n provide: 'ACCOUNT_OPTIONS',\n useFactory: accountConfigOptionsFactory,\n deps: [ACCOUNT_CONFIG_OPTIONS],\n },\n ],\n };\n }\n\n static forLazy(options = {} as AccountConfigOptions): NgModuleFactory<AccountModule> {\n return new LazyModuleFactory(AccountModule.forChild(options));\n }\n}\n","/* eslint-disable @typescript-eslint/no-empty-interface */\n\nexport namespace Account {\n export interface TenantBoxComponentInputs {}\n export interface TenantBoxComponentOutputs {}\n export interface PersonalSettingsComponentInputs {}\n export interface PersonalSettingsComponentOutputs {}\n export interface ChangePasswordComponentInputs {}\n export interface ChangePasswordComponentOutputs {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["maxLength","required","PASSWORD_FIELDS","email"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "@angular/router";
|
|
3
|
-
export declare class AccountRoutingModule {
|
|
4
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AccountRoutingModule, never>;
|
|
5
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AccountRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
|
6
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<AccountRoutingModule>;
|
|
7
|
-
}
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@angular/router";
|
|
3
|
+
export declare class AccountRoutingModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccountRoutingModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AccountRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AccountRoutingModule>;
|
|
7
|
+
}
|
package/lib/account.module.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { ModuleWithProviders, NgModuleFactory } from '@angular/core';
|
|
2
|
-
import { AccountConfigOptions } from './models/config-options';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./components/login/login.component";
|
|
5
|
-
import * as i2 from "./components/register/register.component";
|
|
6
|
-
import * as i3 from "./components/change-password/change-password.component";
|
|
7
|
-
import * as i4 from "./components/manage-profile/manage-profile.component";
|
|
8
|
-
import * as i5 from "./components/personal-settings/personal-settings.component";
|
|
9
|
-
import * as i6 from "./components/forgot-password/forgot-password.component";
|
|
10
|
-
import * as i7 from "./components/reset-password/reset-password.component";
|
|
11
|
-
import * as i8 from "@abp/ng.core";
|
|
12
|
-
import * as i9 from "./account-routing.module";
|
|
13
|
-
import * as i10 from "@abp/ng.theme.shared";
|
|
14
|
-
import * as i11 from "@ng-bootstrap/ng-bootstrap";
|
|
15
|
-
import * as i12 from "@ngx-validate/core";
|
|
16
|
-
export declare class AccountModule {
|
|
17
|
-
static forChild(options?: AccountConfigOptions): ModuleWithProviders<AccountModule>;
|
|
18
|
-
static forLazy(options?: AccountConfigOptions): NgModuleFactory<AccountModule>;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AccountModule, never>;
|
|
20
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AccountModule, [typeof i1.LoginComponent, typeof i2.RegisterComponent, typeof i3.ChangePasswordComponent, typeof i4.ManageProfileComponent, typeof i5.PersonalSettingsComponent, typeof i6.ForgotPasswordComponent, typeof i7.ResetPasswordComponent], [typeof i8.CoreModule, typeof i9.AccountRoutingModule, typeof i10.ThemeSharedModule, typeof i11.NgbDropdownModule, typeof i12.NgxValidateCoreModule], [typeof i1.LoginComponent, typeof i2.RegisterComponent, typeof i3.ChangePasswordComponent, typeof i4.ManageProfileComponent, typeof i5.PersonalSettingsComponent, typeof i6.ForgotPasswordComponent, typeof i7.ResetPasswordComponent]>;
|
|
21
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<AccountModule>;
|
|
22
|
-
}
|
|
1
|
+
import { ModuleWithProviders, NgModuleFactory } from '@angular/core';
|
|
2
|
+
import { AccountConfigOptions } from './models/config-options';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./components/login/login.component";
|
|
5
|
+
import * as i2 from "./components/register/register.component";
|
|
6
|
+
import * as i3 from "./components/change-password/change-password.component";
|
|
7
|
+
import * as i4 from "./components/manage-profile/manage-profile.component";
|
|
8
|
+
import * as i5 from "./components/personal-settings/personal-settings.component";
|
|
9
|
+
import * as i6 from "./components/forgot-password/forgot-password.component";
|
|
10
|
+
import * as i7 from "./components/reset-password/reset-password.component";
|
|
11
|
+
import * as i8 from "@abp/ng.core";
|
|
12
|
+
import * as i9 from "./account-routing.module";
|
|
13
|
+
import * as i10 from "@abp/ng.theme.shared";
|
|
14
|
+
import * as i11 from "@ng-bootstrap/ng-bootstrap";
|
|
15
|
+
import * as i12 from "@ngx-validate/core";
|
|
16
|
+
export declare class AccountModule {
|
|
17
|
+
static forChild(options?: AccountConfigOptions): ModuleWithProviders<AccountModule>;
|
|
18
|
+
static forLazy(options?: AccountConfigOptions): NgModuleFactory<AccountModule>;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccountModule, never>;
|
|
20
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AccountModule, [typeof i1.LoginComponent, typeof i2.RegisterComponent, typeof i3.ChangePasswordComponent, typeof i4.ManageProfileComponent, typeof i5.PersonalSettingsComponent, typeof i6.ForgotPasswordComponent, typeof i7.ResetPasswordComponent], [typeof i8.CoreModule, typeof i9.AccountRoutingModule, typeof i10.ThemeSharedModule, typeof i11.NgbDropdownModule, typeof i12.NgxValidateCoreModule], [typeof i1.LoginComponent, typeof i2.RegisterComponent, typeof i3.ChangePasswordComponent, typeof i4.ManageProfileComponent, typeof i5.PersonalSettingsComponent, typeof i6.ForgotPasswordComponent, typeof i7.ResetPasswordComponent]>;
|
|
21
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AccountModule>;
|
|
22
|
+
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
-
import { Injector, OnInit } from '@angular/core';
|
|
4
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
5
|
-
import { Validation } from '@ngx-validate/core';
|
|
6
|
-
import { Account } from '../../models/account';
|
|
7
|
-
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class ChangePasswordComponent implements OnInit, Account.ChangePasswordComponentInputs, Account.ChangePasswordComponentOutputs {
|
|
10
|
-
private fb;
|
|
11
|
-
private injector;
|
|
12
|
-
private toasterService;
|
|
13
|
-
private profileService;
|
|
14
|
-
private manageProfileState;
|
|
15
|
-
form: FormGroup;
|
|
16
|
-
inProgress: boolean;
|
|
17
|
-
hideCurrentPassword: boolean;
|
|
18
|
-
mapErrorsFn: Validation.MapErrorsFn;
|
|
19
|
-
constructor(fb: FormBuilder, injector: Injector, toasterService: ToasterService, profileService: ProfileService, manageProfileState: ManageProfileStateService);
|
|
20
|
-
ngOnInit(): void;
|
|
21
|
-
onSubmit(): void;
|
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ChangePasswordComponent, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ChangePasswordComponent, "abp-change-password-form", ["abpChangePasswordForm"], {}, {}, never, never>;
|
|
24
|
-
}
|
|
1
|
+
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
+
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
+
import { Injector, OnInit } from '@angular/core';
|
|
4
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
5
|
+
import { Validation } from '@ngx-validate/core';
|
|
6
|
+
import { Account } from '../../models/account';
|
|
7
|
+
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class ChangePasswordComponent implements OnInit, Account.ChangePasswordComponentInputs, Account.ChangePasswordComponentOutputs {
|
|
10
|
+
private fb;
|
|
11
|
+
private injector;
|
|
12
|
+
private toasterService;
|
|
13
|
+
private profileService;
|
|
14
|
+
private manageProfileState;
|
|
15
|
+
form: FormGroup;
|
|
16
|
+
inProgress: boolean;
|
|
17
|
+
hideCurrentPassword: boolean;
|
|
18
|
+
mapErrorsFn: Validation.MapErrorsFn;
|
|
19
|
+
constructor(fb: FormBuilder, injector: Injector, toasterService: ToasterService, profileService: ProfileService, manageProfileState: ManageProfileStateService);
|
|
20
|
+
ngOnInit(): void;
|
|
21
|
+
onSubmit(): void;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChangePasswordComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChangePasswordComponent, "abp-change-password-form", ["abpChangePasswordForm"], {}, {}, never, never>;
|
|
24
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { AccountService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ForgotPasswordComponent {
|
|
5
|
-
private fb;
|
|
6
|
-
private accountService;
|
|
7
|
-
form: FormGroup;
|
|
8
|
-
inProgress: boolean;
|
|
9
|
-
isEmailSent: boolean;
|
|
10
|
-
constructor(fb: FormBuilder, accountService: AccountService);
|
|
11
|
-
onSubmit(): void;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ForgotPasswordComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ForgotPasswordComponent, "abp-forgot-password", never, {}, {}, never, never>;
|
|
14
|
-
}
|
|
1
|
+
import { AccountService } from '@abp/ng.account.core/proxy';
|
|
2
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ForgotPasswordComponent {
|
|
5
|
+
private fb;
|
|
6
|
+
private accountService;
|
|
7
|
+
form: FormGroup;
|
|
8
|
+
inProgress: boolean;
|
|
9
|
+
isEmailSent: boolean;
|
|
10
|
+
constructor(fb: FormBuilder, accountService: AccountService);
|
|
11
|
+
onSubmit(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ForgotPasswordComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ForgotPasswordComponent, "abp-forgot-password", never, {}, {}, never, never>;
|
|
14
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
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';
|
|
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';
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { AuthService, ConfigStateService } from '@abp/ng.core';
|
|
2
|
-
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
-
import { Injector, OnInit } from '@angular/core';
|
|
4
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
5
|
-
import { eAccountComponents } from '../../enums/components';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class LoginComponent implements OnInit {
|
|
8
|
-
protected injector: Injector;
|
|
9
|
-
protected fb: FormBuilder;
|
|
10
|
-
protected toasterService: ToasterService;
|
|
11
|
-
protected authService: AuthService;
|
|
12
|
-
protected configState: ConfigStateService;
|
|
13
|
-
form: FormGroup;
|
|
14
|
-
inProgress: boolean;
|
|
15
|
-
isSelfRegistrationEnabled: boolean;
|
|
16
|
-
authWrapperKey: eAccountComponents;
|
|
17
|
-
constructor(injector: Injector, fb: FormBuilder, toasterService: ToasterService, authService: AuthService, configState: ConfigStateService);
|
|
18
|
-
ngOnInit(): void;
|
|
19
|
-
protected init(): void;
|
|
20
|
-
protected buildForm(): void;
|
|
21
|
-
onSubmit(): void;
|
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "abp-login", never, {}, {}, never, never>;
|
|
24
|
-
}
|
|
1
|
+
import { AuthService, ConfigStateService } from '@abp/ng.core';
|
|
2
|
+
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
+
import { Injector, OnInit } from '@angular/core';
|
|
4
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
5
|
+
import { eAccountComponents } from '../../enums/components';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class LoginComponent implements OnInit {
|
|
8
|
+
protected injector: Injector;
|
|
9
|
+
protected fb: FormBuilder;
|
|
10
|
+
protected toasterService: ToasterService;
|
|
11
|
+
protected authService: AuthService;
|
|
12
|
+
protected configState: ConfigStateService;
|
|
13
|
+
form: FormGroup;
|
|
14
|
+
inProgress: boolean;
|
|
15
|
+
isSelfRegistrationEnabled: boolean;
|
|
16
|
+
authWrapperKey: eAccountComponents;
|
|
17
|
+
constructor(injector: Injector, fb: FormBuilder, toasterService: ToasterService, authService: AuthService, configState: ConfigStateService);
|
|
18
|
+
ngOnInit(): void;
|
|
19
|
+
protected init(): void;
|
|
20
|
+
protected buildForm(): void;
|
|
21
|
+
onSubmit(): void;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "abp-login", never, {}, {}, never, never>;
|
|
24
|
+
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { OnInit } from '@angular/core';
|
|
3
|
-
import { eAccountComponents } from '../../enums/components';
|
|
4
|
-
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class ManageProfileComponent implements OnInit {
|
|
7
|
-
protected profileService: ProfileService;
|
|
8
|
-
protected manageProfileState: ManageProfileStateService;
|
|
9
|
-
selectedTab: number;
|
|
10
|
-
changePasswordKey: eAccountComponents;
|
|
11
|
-
personalSettingsKey: eAccountComponents;
|
|
12
|
-
profile$: import("rxjs").Observable<import("@abp/ng.account.core/proxy").ProfileDto>;
|
|
13
|
-
hideChangePasswordTab: boolean;
|
|
14
|
-
constructor(profileService: ProfileService, manageProfileState: ManageProfileStateService);
|
|
15
|
-
ngOnInit(): void;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ManageProfileComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ManageProfileComponent, "abp-manage-profile", never, {}, {}, never, never>;
|
|
18
|
-
}
|
|
1
|
+
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
+
import { OnInit } from '@angular/core';
|
|
3
|
+
import { eAccountComponents } from '../../enums/components';
|
|
4
|
+
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class ManageProfileComponent implements OnInit {
|
|
7
|
+
protected profileService: ProfileService;
|
|
8
|
+
protected manageProfileState: ManageProfileStateService;
|
|
9
|
+
selectedTab: number;
|
|
10
|
+
changePasswordKey: eAccountComponents;
|
|
11
|
+
personalSettingsKey: eAccountComponents;
|
|
12
|
+
profile$: import("rxjs").Observable<import("@abp/ng.account.core/proxy").ProfileDto>;
|
|
13
|
+
hideChangePasswordTab: boolean;
|
|
14
|
+
constructor(profileService: ProfileService, manageProfileState: ManageProfileStateService);
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ManageProfileComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ManageProfileComponent, "abp-manage-profile", never, {}, {}, never, never>;
|
|
18
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
-
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
-
import { OnInit } from '@angular/core';
|
|
4
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
5
|
-
import { Account } from '../../models/account';
|
|
6
|
-
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class PersonalSettingsComponent implements OnInit, Account.PersonalSettingsComponentInputs, Account.PersonalSettingsComponentOutputs {
|
|
9
|
-
private fb;
|
|
10
|
-
private toasterService;
|
|
11
|
-
private profileService;
|
|
12
|
-
private manageProfileState;
|
|
13
|
-
form: FormGroup;
|
|
14
|
-
inProgress: boolean;
|
|
15
|
-
constructor(fb: FormBuilder, toasterService: ToasterService, profileService: ProfileService, manageProfileState: ManageProfileStateService);
|
|
16
|
-
ngOnInit(): void;
|
|
17
|
-
buildForm(): void;
|
|
18
|
-
submit(): void;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PersonalSettingsComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PersonalSettingsComponent, "abp-personal-settings-form", ["abpPersonalSettingsForm"], {}, {}, never, never>;
|
|
21
|
-
}
|
|
1
|
+
import { ProfileService } from '@abp/ng.account.core/proxy';
|
|
2
|
+
import { ToasterService } from '@abp/ng.theme.shared';
|
|
3
|
+
import { OnInit } from '@angular/core';
|
|
4
|
+
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
5
|
+
import { Account } from '../../models/account';
|
|
6
|
+
import { ManageProfileStateService } from '../../services/manage-profile.state.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class PersonalSettingsComponent implements OnInit, Account.PersonalSettingsComponentInputs, Account.PersonalSettingsComponentOutputs {
|
|
9
|
+
private fb;
|
|
10
|
+
private toasterService;
|
|
11
|
+
private profileService;
|
|
12
|
+
private manageProfileState;
|
|
13
|
+
form: FormGroup;
|
|
14
|
+
inProgress: boolean;
|
|
15
|
+
constructor(fb: FormBuilder, toasterService: ToasterService, profileService: ProfileService, manageProfileState: ManageProfileStateService);
|
|
16
|
+
ngOnInit(): void;
|
|
17
|
+
buildForm(): void;
|
|
18
|
+
submit(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PersonalSettingsComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PersonalSettingsComponent, "abp-personal-settings-form", ["abpPersonalSettingsForm"], {}, {}, never, never>;
|
|
21
|
+
}
|