@abp/ng.account 6.0.1 → 7.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@ export class PersonalSettingsHalfRowComponent {
15
15
  }
16
16
  PersonalSettingsHalfRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: PersonalSettingsHalfRowComponent, deps: [{ token: EXTENSIONS_FORM_PROP }], target: i0.ɵɵFactoryTarget.Component });
17
17
  PersonalSettingsHalfRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: PersonalSettingsHalfRowComponent, selector: "abp-personal-settings-half-row", ngImport: i0, template: ` <div class="w-50 d-inline">
18
- <div class="mb-3 form-group">
18
+ <div class="mb-3">
19
19
  <label [attr.for]="name" class="form-label">{{ displayName | abpLocalization }} </label>
20
20
  <input
21
21
  type="text"
@@ -29,7 +29,7 @@ PersonalSettingsHalfRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: PersonalSettingsHalfRowComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'abp-personal-settings-half-row', template: ` <div class="w-50 d-inline">
32
- <div class="mb-3 form-group">
32
+ <div class="mb-3">
33
33
  <label [attr.for]="name" class="form-label">{{ displayName | abpLocalization }} </label>
34
34
  <input
35
35
  type="text"
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
44
44
  type: Inject,
45
45
  args: [EXTENSIONS_FORM_PROP]
46
46
  }] }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtc2V0dGluZ3MtaGFsZi1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MtaGFsZi1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLDZCQUE2QixHQUM5QixNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFvQnpDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFBa0QsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsRSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs2SEFWVSxnQ0FBZ0Msa0JBTXZCLG9CQUFvQjtpSEFON0IsZ0NBQWdDLHNFQWZqQzs7Ozs7Ozs7Ozs7U0FXSCxveEJBRVEsQ0FBQyw2QkFBNkIsQ0FBQzsyRkFFbkMsZ0NBQWdDO2tCQWpCNUMsU0FBUzsrQkFDRSxnQ0FBZ0MsWUFDaEM7Ozs7Ozs7Ozs7O1NBV0gsaUJBRVEsQ0FBQyw2QkFBNkIsQ0FBQzs7MEJBUWpDLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0ZPUk1fUFJPUCxcclxuICBGb3JtUHJvcCxcclxuICBFWFRFTlNJQkxFX0ZPUk1fVklFV19QUk9WSURFUixcclxufSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXBlcnNvbmFsLXNldHRpbmdzLWhhbGYtcm93JyxcclxuICB0ZW1wbGF0ZTogYCA8ZGl2IGNsYXNzPVwidy01MCBkLWlubGluZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cIm5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj57eyBkaXNwbGF5TmFtZSB8IGFicExvY2FsaXphdGlvbiB9fSA8L2xhYmVsPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgW2F0dHIuaWRdPVwiaWRcIlxyXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5gLFxyXG4gIHN0eWxlczogW10sXHJcbiAgdmlld1Byb3ZpZGVyczogW0VYVEVOU0lCTEVfRk9STV9WSUVXX1BST1ZJREVSXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcnNvbmFsU2V0dGluZ3NIYWxmUm93Q29tcG9uZW50IHtcclxuICBwdWJsaWMgZGlzcGxheU5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRVhURU5TSU9OU19GT1JNX1BST1ApIHByaXZhdGUgcHJvcERhdGE6IEZvcm1Qcm9wKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlOYW1lID0gcHJvcERhdGEuZGlzcGxheU5hbWU7XHJcbiAgICB0aGlzLm5hbWUgPSBwcm9wRGF0YS5uYW1lO1xyXG4gICAgdGhpcy5pZCA9IHByb3BEYXRhLmlkO1xyXG4gIH1cclxufVxyXG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtc2V0dGluZ3MtaGFsZi1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MtaGFsZi1yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLDZCQUE2QixHQUM5QixNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFvQnpDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFBa0QsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsRSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs2SEFWVSxnQ0FBZ0Msa0JBTXZCLG9CQUFvQjtpSEFON0IsZ0NBQWdDLHNFQWZqQzs7Ozs7Ozs7Ozs7U0FXSCxveEJBRVEsQ0FBQyw2QkFBNkIsQ0FBQzsyRkFFbkMsZ0NBQWdDO2tCQWpCNUMsU0FBUzsrQkFDRSxnQ0FBZ0MsWUFDaEM7Ozs7Ozs7Ozs7O1NBV0gsaUJBRVEsQ0FBQyw2QkFBNkIsQ0FBQzs7MEJBUWpDLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0ZPUk1fUFJPUCxcclxuICBGb3JtUHJvcCxcclxuICBFWFRFTlNJQkxFX0ZPUk1fVklFV19QUk9WSURFUixcclxufSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXBlcnNvbmFsLXNldHRpbmdzLWhhbGYtcm93JyxcclxuICB0ZW1wbGF0ZTogYCA8ZGl2IGNsYXNzPVwidy01MCBkLWlubGluZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgZGlzcGxheU5hbWUgfCBhYnBMb2NhbGl6YXRpb24gfX0gPC9sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIFthdHRyLmlkXT1cImlkXCJcclxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+YCxcclxuICBzdHlsZXM6IFtdLFxyXG4gIHZpZXdQcm92aWRlcnM6IFtFWFRFTlNJQkxFX0ZPUk1fVklFV19QUk9WSURFUl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJzb25hbFNldHRpbmdzSGFsZlJvd0NvbXBvbmVudCB7XHJcbiAgcHVibGljIGRpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEVYVEVOU0lPTlNfRk9STV9QUk9QKSBwcml2YXRlIHByb3BEYXRhOiBGb3JtUHJvcCkge1xyXG4gICAgdGhpcy5kaXNwbGF5TmFtZSA9IHByb3BEYXRhLmRpc3BsYXlOYW1lO1xyXG4gICAgdGhpcy5uYW1lID0gcHJvcERhdGEubmFtZTtcclxuICAgIHRoaXMuaWQgPSBwcm9wRGF0YS5pZDtcclxuICB9XHJcbn1cclxuIl19
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
97
97
  type: Inject,
98
98
  args: [RE_LOGIN_CONFIRMATION_TOKEN]
99
99
  }] }, { type: i0.Injector }]; } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7O0FBY3pDLE1BQU0sT0FBTyx5QkFBeUI7SUFhcEMsWUFDVSxFQUFzQixFQUN0QixjQUE4QixFQUM5QixjQUE4QixFQUM5QixrQkFBNkMsRUFDcEMsV0FBd0IsRUFDakMsbUJBQXdDLEVB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QUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUQsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O3NIQWxGVSx5QkFBeUIsdU5Bb0IxQiwyQkFBMkI7MEdBcEIxQix5QkFBeUIscURBUHpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsK0VBQXFDO1NBQzlDO0tBQ0YsaUVDekJILHlhQVlBOzJGRGVhLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDRSw0QkFBNEIsWUFFNUIseUJBQXlCLGFBQ3hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsK0VBQXFDO3lCQUM5QztxQkFDRjs7MEJBc0JFLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZmlsZUR0bywgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmFjY291bnQuY29yZS9wcm94eSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50JztcclxuaW1wb3J0IHsgTWFuYWdlUHJvZmlsZVN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21hbmFnZS1wcm9maWxlLnN0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFJFX0xPR0lOX0NPTkZJUk1BVElPTl9UT0tFTiB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7XHJcbiAgRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gIEZvcm1Qcm9wRGF0YSxcclxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXHJcbn0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IGVBY2NvdW50Q29tcG9uZW50cyB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXBlcnNvbmFsLXNldHRpbmdzLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJzb25hbC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgZXhwb3J0QXM6ICdhYnBQZXJzb25hbFNldHRpbmdzRm9ybScsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICAgICAgdXNlVmFsdWU6IGVBY2NvdW50Q29tcG9uZW50cy5QZXJzb25hbFNldHRpbmdzLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVyc29uYWxTZXR0aW5nc0NvbXBvbmVudFxyXG4gIGltcGxlbWVudHNcclxuICAgIE9uSW5pdCxcclxuICAgIEFjY291bnQuUGVyc29uYWxTZXR0aW5nc0NvbXBvbmVudElucHV0cyxcclxuICAgIEFjY291bnQuUGVyc29uYWxTZXR0aW5nc0NvbXBvbmVudE91dHB1dHNcclxue1xyXG4gIHNlbGVjdGVkOiBQcm9maWxlRHRvO1xyXG5cclxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBpblByb2dyZXNzOiBib29sZWFuO1xyXG4gIHByaXZhdGUgcHJvZmlsZTogUHJvZmlsZUR0bztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYW5hZ2VQcm9maWxlU3RhdGU6IE1hbmFnZVByb2ZpbGVTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIEBJbmplY3QoUkVfTE9HSU5fQ09ORklSTUFUSU9OX1RPS0VOKVxyXG4gICAgcHJpdmF0ZSBpc1BlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uQWN0aXZlOiBib29sZWFuLFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICApIHt9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLm1hbmFnZVByb2ZpbGVTdGF0ZS5nZXRQcm9maWxlKCk7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtUHJvcERhdGEodGhpcy5pbmplY3RvciwgdGhpcy5zZWxlY3RlZCk7XHJcbiAgICB0aGlzLmZvcm0gPSBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuICAgIGNvbnN0IGlzTG9nT3V0Q29uZmlybU1lc3NhZ2VWaXNpYmxlID0gdGhpcy5pc0xvZ291dENvbmZpcm1NZXNzYWdlQWN0aXZlKCk7XHJcbiAgICB0aGlzLmluUHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9maWxlU2VydmljZVxyXG4gICAgICAudXBkYXRlKHRoaXMuZm9ybS52YWx1ZSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUocHJvZmlsZSA9PiB7XHJcbiAgICAgICAgdGhpcy5tYW5hZ2VQcm9maWxlU3RhdGUuc2V0UHJvZmlsZShwcm9maWxlKTtcclxuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicEFjY291bnQ6OlBlcnNvbmFsU2V0dGluZ3NTYXZlZCcsICdTdWNjZXNzJywgeyBsaWZlOiA1MDAwIH0pO1xyXG4gICAgICAgIGlmIChpc0xvZ091dENvbmZpcm1NZXNzYWdlVmlzaWJsZSkge1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9nb3V0Q29uZmlybU1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaXNEYXRhU2FtZShvbGRWYWx1ZSwgbmV3VmFsdWUpIHtcclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhvbGRWYWx1ZSkuc29tZSgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIGlmIChrZXkgaW4gbmV3VmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgIT09IG5ld1ZhbHVlW2tleV07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXRDb25maXJtYXRpb24gPSAoKSA9PiB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpLnN1YnNjcmliZSgpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaXNMb2dvdXRDb25maXJtTWVzc2FnZUFjdGl2ZSgpIHtcclxuICAgIGlmICghdGhpcy5pc1BlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uQWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmlzRGF0YVNhbWUodGhpcy5wcm9maWxlLCB0aGlzLmZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TG9nb3V0Q29uZmlybU1lc3NhZ2UoKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLmluZm8oXHJcbiAgICAgICAgJ0FicEFjY291bnQ6OlBlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uTW9kYWxEZXNjcmlwdGlvbicsXHJcbiAgICAgICAgJ0FicEFjY291bnQ6OlBlcnNvbmFsU2V0dGluZ3NDaGFuZ2VkQ29uZmlybWF0aW9uTW9kYWxUaXRsZScsXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoZmlsdGVyKHN0YXR1cyA9PiBzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkpXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5sb2dvdXRDb25maXJtYXRpb24pO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAgICpuZ0lmPVwiZm9ybVwiICAobmdTdWJtaXQpPVwic3VibWl0KClcIiB2YWxpZGF0ZU9uU3VibWl0PlxyXG4gIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuXHJcbiAgPGFicC1idXR0b25cclxuICAgIGJ1dHRvblR5cGU9XCJzdWJtaXRcIlxyXG4gICAgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIlxyXG4gICAgYnV0dG9uQ2xhc3M9XCJidG4gYnRuLXByaW1hcnkgY29sb3Itd2hpdGVcIlxyXG4gICAgW2xvYWRpbmddPVwiaW5Qcm9ncmVzc1wiXHJcbiAgPlxyXG4gICAge3sgJ0FicElkZW50aXR5OjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvYWJwLWJ1dHRvblxyXG4gID5cclxuPC9mb3JtPlxyXG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC9zcmMvbGliL2NvbXBvbmVudHMvcGVyc29uYWwtc2V0dGluZ3MvcGVyc29uYWwtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixxQkFBcUIsR0FDdEIsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7OztBQWN6QyxNQUFNLE9BQU8seUJBQXlCO0lBYXBDLFlBQ1UsRUFBc0IsRUFDdEIsY0FBOEIsRUFDOUIsY0FBOEIsRUFDOUIsa0JBQTZDLEVBQ3BDLFdBQXdCLEVBQ2pDLG1CQUF3QyxF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QUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlELFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4QyxDQUFDOztzSEFsRlUseUJBQXlCLHVOQW9CMUIsMkJBQTJCOzBHQXBCMUIseUJBQXlCLHFEQVB6QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixRQUFRLCtFQUFxQztTQUM5QztLQUNGLGlFQ3pCSCx5YUFZQTsyRkRlYSx5QkFBeUI7a0JBWHJDLFNBQVM7K0JBQ0UsNEJBQTRCLFlBRTVCLHlCQUF5QixhQUN4Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixRQUFRLCtFQUFxQzt5QkFDOUM7cUJBQ0Y7OzBCQXNCRSxNQUFNOzJCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2ZpbGVEdG8sIFByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5hY2NvdW50LmNvcmUvcHJveHknO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VQcm9maWxlU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFuYWdlLXByb2ZpbGUuc3RhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgUkVfTE9HSU5fQ09ORklSTUFUSU9OX1RPS0VOIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIGdlbmVyYXRlRm9ybUZyb21Qcm9wcyxcclxufSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHsgZUFjY291bnRDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtcGVyc29uYWwtc2V0dGluZ3MtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BlcnNvbmFsLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcclxuICBleHBvcnRBczogJ2FicFBlcnNvbmFsU2V0dGluZ3NGb3JtJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gICAgICB1c2VWYWx1ZTogZUFjY291bnRDb21wb25lbnRzLlBlcnNvbmFsU2V0dGluZ3MsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJzb25hbFNldHRpbmdzQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50c1xyXG4gICAgT25Jbml0LFxyXG4gICAgQWNjb3VudC5QZXJzb25hbFNldHRpbmdzQ29tcG9uZW50SW5wdXRzLFxyXG4gICAgQWNjb3VudC5QZXJzb25hbFNldHRpbmdzQ29tcG9uZW50T3V0cHV0c1xyXG57XHJcbiAgc2VsZWN0ZWQ6IFByb2ZpbGVEdG87XHJcblxyXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGluUHJvZ3Jlc3M6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBwcm9maWxlOiBQcm9maWxlRHRvO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwcm9maWxlU2VydmljZTogUHJvZmlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1hbmFnZVByb2ZpbGVTdGF0ZTogTWFuYWdlUHJvZmlsZVN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgQEluamVjdChSRV9MT0dJTl9DT05GSVJNQVRJT05fVE9LRU4pXHJcbiAgICBwcml2YXRlIGlzUGVyc29uYWxTZXR0aW5nc0NoYW5nZWRDb25maXJtYXRpb25BY3RpdmU6IGJvb2xlYW4sXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICkge31cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMubWFuYWdlUHJvZmlsZVN0YXRlLmdldFByb2ZpbGUoKTtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1Qcm9wRGF0YSh0aGlzLmluamVjdG9yLCB0aGlzLnNlbGVjdGVkKTtcclxuICAgIHRoaXMuZm9ybSA9IGdlbmVyYXRlRm9ybUZyb21Qcm9wcyhkYXRhKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgaXNMb2dPdXRDb25maXJtTWVzc2FnZVZpc2libGUgPSB0aGlzLmlzTG9nb3V0Q29uZmlybU1lc3NhZ2VBY3RpdmUoKTtcclxuICAgIHRoaXMuaW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlXHJcbiAgICAgIC51cGRhdGUodGhpcy5mb3JtLnZhbHVlKVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5pblByb2dyZXNzID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZShwcm9maWxlID0+IHtcclxuICAgICAgICB0aGlzLm1hbmFnZVByb2ZpbGVTdGF0ZS5zZXRQcm9maWxlKHByb2ZpbGUpO1xyXG4gICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2Uuc3VjY2VzcygnQWJwQWNjb3VudDo6UGVyc29uYWxTZXR0aW5nc1NhdmVkJywgJ1N1Y2Nlc3MnLCB7IGxpZmU6IDUwMDAgfSk7XHJcbiAgICAgICAgaWYgKGlzTG9nT3V0Q29uZmlybU1lc3NhZ2VWaXNpYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2dvdXRDb25maXJtTWVzc2FnZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBpc0RhdGFTYW1lKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9sZFZhbHVlKS5zb21lKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgaWYgKGtleSBpbiBuZXdWYWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSAhPT0gbmV3VmFsdWVba2V5XTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvZ291dENvbmZpcm1hdGlvbiA9ICgpID0+IHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCkuc3Vic2NyaWJlKCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBpc0xvZ291dENvbmZpcm1NZXNzYWdlQWN0aXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzUGVyc29uYWxTZXR0aW5nc0NoYW5nZWRDb25maXJtYXRpb25BY3RpdmUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaXNEYXRhU2FtZSh0aGlzLnByb2ZpbGUsIHRoaXMuZm9ybS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNob3dMb2dvdXRDb25maXJtTWVzc2FnZSgpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxyXG4gICAgICAuaW5mbyhcclxuICAgICAgICAnQWJwQWNjb3VudDo6UGVyc29uYWxTZXR0aW5nc0NoYW5nZWRDb25maXJtYXRpb25Nb2RhbERlc2NyaXB0aW9uJyxcclxuICAgICAgICAnQWJwQWNjb3VudDo6UGVyc29uYWxTZXR0aW5nc0NoYW5nZWRDb25maXJtYXRpb25Nb2RhbFRpdGxlJyxcclxuICAgICAgKVxyXG4gICAgICAucGlwZShmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSlcclxuICAgICAgLnN1YnNjcmliZSh0aGlzLmxvZ291dENvbmZpcm1hdGlvbik7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiICAgKm5nSWY9XCJmb3JtXCIgIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgPGFicC1leHRlbnNpYmxlLWZvcm0gW3NlbGVjdGVkUmVjb3JkXT1cInNlbGVjdGVkXCI+PC9hYnAtZXh0ZW5zaWJsZS1mb3JtPlxyXG5cclxuICA8YWJwLWJ1dHRvblxyXG4gICAgYnV0dG9uVHlwZT1cInN1Ym1pdFwiXHJcbiAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeSBjb2xvci13aGl0ZVwiXHJcbiAgICBbbG9hZGluZ109XCJpblByb2dyZXNzXCJcclxuICA+XHJcbiAgICB7eyAnQWJwSWRlbnRpdHk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hYnAtYnV0dG9uXHJcbiAgPlxyXG48L2Zvcm0+XHJcbiJdfQ==
@@ -216,7 +216,7 @@ class PersonalSettingsHalfRowComponent {
216
216
  }
217
217
  PersonalSettingsHalfRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: PersonalSettingsHalfRowComponent, deps: [{ token: EXTENSIONS_FORM_PROP }], target: i0.ɵɵFactoryTarget.Component });
218
218
  PersonalSettingsHalfRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: PersonalSettingsHalfRowComponent, selector: "abp-personal-settings-half-row", ngImport: i0, template: ` <div class="w-50 d-inline">
219
- <div class="mb-3 form-group">
219
+ <div class="mb-3">
220
220
  <label [attr.for]="name" class="form-label">{{ displayName | abpLocalization }} </label>
221
221
  <input
222
222
  type="text"
@@ -230,7 +230,7 @@ PersonalSettingsHalfRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
230
230
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: PersonalSettingsHalfRowComponent, decorators: [{
231
231
  type: Component,
232
232
  args: [{ selector: 'abp-personal-settings-half-row', template: ` <div class="w-50 d-inline">
233
- <div class="mb-3 form-group">
233
+ <div class="mb-3">
234
234
  <label [attr.for]="name" class="form-label">{{ displayName | abpLocalization }} </label>
235
235
  <input
236
236
  type="text"
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.account.mjs","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/tokens/re-login-confirmation.token.ts","../../../../packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts","../../../../packages/account/src/lib/defaults/default-personal-settings-form-props.ts","../../../../packages/account/src/lib/tokens/extensions.token.ts","../../../../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/guards/extensions.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/abp-ng.account.ts"],"sourcesContent":["import { AccountService } from '@abp/ng.account.core/proxy';\r\nimport { Component } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n isEmailSent = false;\r\n\r\n constructor(private fb: UntypedFormBuilder, 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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 UntypedFormControl('', [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 { InjectionToken } from '@angular/core';\r\n\r\nexport const RE_LOGIN_CONFIRMATION_TOKEN = new InjectionToken<boolean>(\r\n 'RE_LOGIN_CONFIRMATION_TOKEN',\r\n);\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n EXTENSIONS_FORM_PROP,\r\n FormProp,\r\n EXTENSIBLE_FORM_VIEW_PROVIDER,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'abp-personal-settings-half-row',\r\n template: ` <div class=\"w-50 d-inline\">\r\n <div class=\"mb-3 form-group\">\r\n <label [attr.for]=\"name\" class=\"form-label\">{{ displayName | abpLocalization }} </label>\r\n <input\r\n type=\"text\"\r\n [attr.id]=\"id\"\r\n class=\"form-control\"\r\n [attr.name]=\"name\"\r\n [formControlName]=\"name\"\r\n />\r\n </div>\r\n </div>`,\r\n styles: [],\r\n viewProviders: [EXTENSIBLE_FORM_VIEW_PROVIDER],\r\n})\r\nexport class PersonalSettingsHalfRowComponent {\r\n public displayName: string;\r\n public name: string;\r\n public id: string;\r\n public formGroup: UntypedFormGroup;\r\n\r\n constructor(@Inject(EXTENSIONS_FORM_PROP) private propData: FormProp) {\r\n this.displayName = propData.displayName;\r\n this.name = propData.name;\r\n this.id = propData.id;\r\n }\r\n}\r\n","import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\nimport { Validators } from '@angular/forms';\r\nimport { PersonalSettingsHalfRowComponent } from '../components/personal-settings/personal-settings-half-row.component';\r\n\r\nconst { maxLength, required, email } = Validators;\r\nexport const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS = FormProp.createMany<UpdateProfileDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::DisplayName:UserName',\r\n id: 'username',\r\n validators: () => [required, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::DisplayName:Name',\r\n id: 'name',\r\n validators: () => [maxLength(64)],\r\n template: PersonalSettingsHalfRowComponent,\r\n className: 'd-inline-block w-50',\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'surname',\r\n displayName: 'AbpIdentity::DisplayName:Surname',\r\n id: 'surname',\r\n validators: () => [maxLength(64)],\r\n className: 'd-inline-block w-50 ps-4',\r\n template: PersonalSettingsHalfRowComponent,\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'email',\r\n displayName: 'AbpIdentity::DisplayName:Email',\r\n id: 'email-address',\r\n validators: () => [required, email, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::DisplayName:PhoneNumber',\r\n id: 'phone-number',\r\n validators: () => [maxLength(16)],\r\n },\r\n]);\r\n","import { eAccountComponents } from '../enums';\r\nimport { DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS } from '../defaults/default-personal-settings-form-props';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\n\r\nexport const DEFAULT_ACCOUNT_FORM_PROPS = {\r\n [eAccountComponents.PersonalSettings]: DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS,\r\n};\r\n\r\nexport const ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS = new InjectionToken<EditFormPropContributors>(\r\n 'ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS',\r\n);\r\n\r\ntype EditFormPropContributors = Partial<{\r\n [eAccountComponents.PersonalSettings]: EditFormPropContributorCallback<UpdateProfileDto>[];\r\n}>;\r\n","import { ProfileDto, ProfileService } from '@abp/ng.account.core/proxy';\r\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { finalize, filter } from 'rxjs/operators';\r\nimport { Account } from '../../models/account';\r\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\r\nimport { AuthService } from '@abp/ng.core';\r\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from '../../tokens';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { eAccountComponents } from '../../enums';\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 providers: [\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eAccountComponents.PersonalSettings,\r\n },\r\n ],\r\n})\r\nexport class PersonalSettingsComponent\r\n implements\r\n OnInit,\r\n Account.PersonalSettingsComponentInputs,\r\n Account.PersonalSettingsComponentOutputs\r\n{\r\n selected: ProfileDto;\r\n\r\n form: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n private profile: ProfileDto;\r\n\r\n constructor(\r\n private fb: UntypedFormBuilder,\r\n private toasterService: ToasterService,\r\n private profileService: ProfileService,\r\n private manageProfileState: ManageProfileStateService,\r\n private readonly authService: AuthService,\r\n private confirmationService: ConfirmationService,\r\n @Inject(RE_LOGIN_CONFIRMATION_TOKEN)\r\n private isPersonalSettingsChangedConfirmationActive: boolean,\r\n protected injector: Injector,\r\n ) {}\r\n\r\n buildForm() {\r\n this.selected = this.manageProfileState.getProfile();\r\n if (!this.selected) {\r\n return;\r\n }\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n submit() {\r\n if (this.form.invalid) return;\r\n const isLogOutConfirmMessageVisible = this.isLogoutConfirmMessageActive();\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 if (isLogOutConfirmMessageVisible) {\r\n this.showLogoutConfirmMessage();\r\n }\r\n });\r\n }\r\n\r\n isDataSame(oldValue, newValue) {\r\n return Object.entries(oldValue).some(([key, value]) => {\r\n if (key in newValue) {\r\n return value !== newValue[key];\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n logoutConfirmation = () => {\r\n this.authService.logout().subscribe();\r\n };\r\n\r\n private isLogoutConfirmMessageActive() {\r\n if (!this.isPersonalSettingsChangedConfirmationActive) {\r\n return false;\r\n }\r\n return this.isDataSame(this.profile, this.form.value);\r\n }\r\n\r\n private showLogoutConfirmMessage() {\r\n this.confirmationService\r\n .info(\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalDescription',\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalTitle',\r\n )\r\n .pipe(filter(status => status === Confirmation.Status.confirm))\r\n .subscribe(this.logoutConfirmation);\r\n }\r\n}\r\n","<form [formGroup]=\"form\" *ngIf=\"form\" (ngSubmit)=\"submit()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n [loading]=\"inProgress\"\r\n >\r\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n","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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { Injectable, Injector } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { ConfigStateService } from '@abp/ng.core';\r\nimport { tap, map, mapTo } from 'rxjs/operators';\r\nimport {\r\n ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n} from '../tokens/extensions.token';\r\nimport { AccountEditFormPropContributors } from '../models/config-options';\r\nimport { eAccountComponents } from '../enums/components';\r\n\r\n@Injectable()\r\nexport class AccountExtensionsGuard implements CanActivate {\r\n constructor(private injector: Injector) {}\r\n\r\n canActivate(): Observable<boolean> {\r\n const extensions: ExtensionsService = this.injector.get(ExtensionsService);\r\n\r\n const editFormContributors: AccountEditFormPropContributors =\r\n this.injector.get(ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};\r\n\r\n const configState = this.injector.get(ConfigStateService);\r\n return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eAccountComponents.PersonalSettings]: entities.User,\r\n })),\r\n mapEntitiesToContributors(configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultProps(\r\n extensions.editFormProps,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n mapTo(true),\r\n );\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\nimport { AccountExtensionsGuard } from './guards';\r\n\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, AccountExtensionsGuard],\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\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens';\r\nimport { UiExtensionsModule } from '@abp/ng.theme.shared/extensions';\r\nimport { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token';\r\nimport { AccountExtensionsGuard } from './guards/extensions.guard';\r\nimport { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.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 PersonalSettingsHalfRowComponent,\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 UiExtensionsModule,\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 provide: RE_LOGIN_CONFIRMATION_TOKEN,\r\n useValue: options.isPersonalSettingsChangedConfirmationActive ?? true,\r\n },\r\n {\r\n provide: ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.editFormPropContributors,\r\n },\r\n AccountExtensionsGuard,\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5","i6","maxLength","required","i2","i3","PASSWORD_FIELDS","i4.ManageProfileStateService","email","i8","i1","i2.ManageProfileStateService","i6.ChangePasswordComponent","i7.PersonalSettingsComponent"],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.account.mjs","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/tokens/re-login-confirmation.token.ts","../../../../packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts","../../../../packages/account/src/lib/defaults/default-personal-settings-form-props.ts","../../../../packages/account/src/lib/tokens/extensions.token.ts","../../../../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/guards/extensions.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/abp-ng.account.ts"],"sourcesContent":["import { AccountService } from '@abp/ng.account.core/proxy';\r\nimport { Component } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n isEmailSent = false;\r\n\r\n constructor(private fb: UntypedFormBuilder, 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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 UntypedFormControl('', [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 { InjectionToken } from '@angular/core';\r\n\r\nexport const RE_LOGIN_CONFIRMATION_TOKEN = new InjectionToken<boolean>(\r\n 'RE_LOGIN_CONFIRMATION_TOKEN',\r\n);\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n EXTENSIONS_FORM_PROP,\r\n FormProp,\r\n EXTENSIBLE_FORM_VIEW_PROVIDER,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'abp-personal-settings-half-row',\r\n template: ` <div class=\"w-50 d-inline\">\r\n <div class=\"mb-3\">\r\n <label [attr.for]=\"name\" class=\"form-label\">{{ displayName | abpLocalization }} </label>\r\n <input\r\n type=\"text\"\r\n [attr.id]=\"id\"\r\n class=\"form-control\"\r\n [attr.name]=\"name\"\r\n [formControlName]=\"name\"\r\n />\r\n </div>\r\n </div>`,\r\n styles: [],\r\n viewProviders: [EXTENSIBLE_FORM_VIEW_PROVIDER],\r\n})\r\nexport class PersonalSettingsHalfRowComponent {\r\n public displayName: string;\r\n public name: string;\r\n public id: string;\r\n public formGroup: UntypedFormGroup;\r\n\r\n constructor(@Inject(EXTENSIONS_FORM_PROP) private propData: FormProp) {\r\n this.displayName = propData.displayName;\r\n this.name = propData.name;\r\n this.id = propData.id;\r\n }\r\n}\r\n","import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\nimport { Validators } from '@angular/forms';\r\nimport { PersonalSettingsHalfRowComponent } from '../components/personal-settings/personal-settings-half-row.component';\r\n\r\nconst { maxLength, required, email } = Validators;\r\nexport const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS = FormProp.createMany<UpdateProfileDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::DisplayName:UserName',\r\n id: 'username',\r\n validators: () => [required, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::DisplayName:Name',\r\n id: 'name',\r\n validators: () => [maxLength(64)],\r\n template: PersonalSettingsHalfRowComponent,\r\n className: 'd-inline-block w-50',\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'surname',\r\n displayName: 'AbpIdentity::DisplayName:Surname',\r\n id: 'surname',\r\n validators: () => [maxLength(64)],\r\n className: 'd-inline-block w-50 ps-4',\r\n template: PersonalSettingsHalfRowComponent,\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'email',\r\n displayName: 'AbpIdentity::DisplayName:Email',\r\n id: 'email-address',\r\n validators: () => [required, email, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::DisplayName:PhoneNumber',\r\n id: 'phone-number',\r\n validators: () => [maxLength(16)],\r\n },\r\n]);\r\n","import { eAccountComponents } from '../enums';\r\nimport { DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS } from '../defaults/default-personal-settings-form-props';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\n\r\nexport const DEFAULT_ACCOUNT_FORM_PROPS = {\r\n [eAccountComponents.PersonalSettings]: DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS,\r\n};\r\n\r\nexport const ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS = new InjectionToken<EditFormPropContributors>(\r\n 'ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS',\r\n);\r\n\r\ntype EditFormPropContributors = Partial<{\r\n [eAccountComponents.PersonalSettings]: EditFormPropContributorCallback<UpdateProfileDto>[];\r\n}>;\r\n","import { ProfileDto, ProfileService } from '@abp/ng.account.core/proxy';\r\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, Inject, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { finalize, filter } from 'rxjs/operators';\r\nimport { Account } from '../../models/account';\r\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\r\nimport { AuthService } from '@abp/ng.core';\r\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from '../../tokens';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { eAccountComponents } from '../../enums';\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 providers: [\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eAccountComponents.PersonalSettings,\r\n },\r\n ],\r\n})\r\nexport class PersonalSettingsComponent\r\n implements\r\n OnInit,\r\n Account.PersonalSettingsComponentInputs,\r\n Account.PersonalSettingsComponentOutputs\r\n{\r\n selected: ProfileDto;\r\n\r\n form: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n private profile: ProfileDto;\r\n\r\n constructor(\r\n private fb: UntypedFormBuilder,\r\n private toasterService: ToasterService,\r\n private profileService: ProfileService,\r\n private manageProfileState: ManageProfileStateService,\r\n private readonly authService: AuthService,\r\n private confirmationService: ConfirmationService,\r\n @Inject(RE_LOGIN_CONFIRMATION_TOKEN)\r\n private isPersonalSettingsChangedConfirmationActive: boolean,\r\n protected injector: Injector,\r\n ) {}\r\n\r\n buildForm() {\r\n this.selected = this.manageProfileState.getProfile();\r\n if (!this.selected) {\r\n return;\r\n }\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n submit() {\r\n if (this.form.invalid) return;\r\n const isLogOutConfirmMessageVisible = this.isLogoutConfirmMessageActive();\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 if (isLogOutConfirmMessageVisible) {\r\n this.showLogoutConfirmMessage();\r\n }\r\n });\r\n }\r\n\r\n isDataSame(oldValue, newValue) {\r\n return Object.entries(oldValue).some(([key, value]) => {\r\n if (key in newValue) {\r\n return value !== newValue[key];\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n logoutConfirmation = () => {\r\n this.authService.logout().subscribe();\r\n };\r\n\r\n private isLogoutConfirmMessageActive() {\r\n if (!this.isPersonalSettingsChangedConfirmationActive) {\r\n return false;\r\n }\r\n return this.isDataSame(this.profile, this.form.value);\r\n }\r\n\r\n private showLogoutConfirmMessage() {\r\n this.confirmationService\r\n .info(\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalDescription',\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalTitle',\r\n )\r\n .pipe(filter(status => status === Confirmation.Status.confirm))\r\n .subscribe(this.logoutConfirmation);\r\n }\r\n}\r\n","<form [formGroup]=\"form\" *ngIf=\"form\" (ngSubmit)=\"submit()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n [loading]=\"inProgress\"\r\n >\r\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n","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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { Injectable, Injector } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { ConfigStateService } from '@abp/ng.core';\r\nimport { tap, map, mapTo } from 'rxjs/operators';\r\nimport {\r\n ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n} from '../tokens/extensions.token';\r\nimport { AccountEditFormPropContributors } from '../models/config-options';\r\nimport { eAccountComponents } from '../enums/components';\r\n\r\n@Injectable()\r\nexport class AccountExtensionsGuard implements CanActivate {\r\n constructor(private injector: Injector) {}\r\n\r\n canActivate(): Observable<boolean> {\r\n const extensions: ExtensionsService = this.injector.get(ExtensionsService);\r\n\r\n const editFormContributors: AccountEditFormPropContributors =\r\n this.injector.get(ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};\r\n\r\n const configState = this.injector.get(ConfigStateService);\r\n return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eAccountComponents.PersonalSettings]: entities.User,\r\n })),\r\n mapEntitiesToContributors(configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultProps(\r\n extensions.editFormProps,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n mapTo(true),\r\n );\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\nimport { AccountExtensionsGuard } from './guards';\r\n\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, AccountExtensionsGuard],\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\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens';\r\nimport { UiExtensionsModule } from '@abp/ng.theme.shared/extensions';\r\nimport { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token';\r\nimport { AccountExtensionsGuard } from './guards/extensions.guard';\r\nimport { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.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 PersonalSettingsHalfRowComponent,\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 UiExtensionsModule,\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 provide: RE_LOGIN_CONFIRMATION_TOKEN,\r\n useValue: options.isPersonalSettingsChangedConfirmationActive ?? true,\r\n },\r\n {\r\n provide: ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.editFormPropContributors,\r\n },\r\n AccountExtensionsGuard,\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5","i6","maxLength","required","i2","i3","PASSWORD_FIELDS","i4.ManageProfileStateService","email","i8","i1","i2.ManageProfileStateService","i6.ChangePasswordComponent","i7.PersonalSettingsComponent"],"mappings":"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"}
@@ -216,7 +216,7 @@ class PersonalSettingsHalfRowComponent {
216
216
  }
217
217
  PersonalSettingsHalfRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: PersonalSettingsHalfRowComponent, deps: [{ token: EXTENSIONS_FORM_PROP }], target: i0.ɵɵFactoryTarget.Component });
218
218
  PersonalSettingsHalfRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: PersonalSettingsHalfRowComponent, selector: "abp-personal-settings-half-row", ngImport: i0, template: ` <div class="w-50 d-inline">
219
- <div class="mb-3 form-group">
219
+ <div class="mb-3">
220
220
  <label [attr.for]="name" class="form-label">{{ displayName | abpLocalization }} </label>
221
221
  <input
222
222
  type="text"
@@ -230,7 +230,7 @@ PersonalSettingsHalfRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
230
230
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: PersonalSettingsHalfRowComponent, decorators: [{
231
231
  type: Component,
232
232
  args: [{ selector: 'abp-personal-settings-half-row', template: ` <div class="w-50 d-inline">
233
- <div class="mb-3 form-group">
233
+ <div class="mb-3">
234
234
  <label [attr.for]="name" class="form-label">{{ displayName | abpLocalization }} </label>
235
235
  <input
236
236
  type="text"
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.account.mjs","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/tokens/re-login-confirmation.token.ts","../../../../packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts","../../../../packages/account/src/lib/defaults/default-personal-settings-form-props.ts","../../../../packages/account/src/lib/tokens/extensions.token.ts","../../../../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/guards/extensions.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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n isEmailSent = false;\r\n\r\n constructor(private fb: UntypedFormBuilder, 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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 UntypedFormControl('', [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 { InjectionToken } from '@angular/core';\r\n\r\nexport const RE_LOGIN_CONFIRMATION_TOKEN = new InjectionToken<boolean>(\r\n 'RE_LOGIN_CONFIRMATION_TOKEN',\r\n);\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n EXTENSIONS_FORM_PROP,\r\n FormProp,\r\n EXTENSIBLE_FORM_VIEW_PROVIDER,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'abp-personal-settings-half-row',\r\n template: ` <div class=\"w-50 d-inline\">\r\n <div class=\"mb-3 form-group\">\r\n <label [attr.for]=\"name\" class=\"form-label\">{{ displayName | abpLocalization }} </label>\r\n <input\r\n type=\"text\"\r\n [attr.id]=\"id\"\r\n class=\"form-control\"\r\n [attr.name]=\"name\"\r\n [formControlName]=\"name\"\r\n />\r\n </div>\r\n </div>`,\r\n styles: [],\r\n viewProviders: [EXTENSIBLE_FORM_VIEW_PROVIDER],\r\n})\r\nexport class PersonalSettingsHalfRowComponent {\r\n public displayName: string;\r\n public name: string;\r\n public id: string;\r\n public formGroup: UntypedFormGroup;\r\n\r\n constructor(@Inject(EXTENSIONS_FORM_PROP) private propData: FormProp) {\r\n this.displayName = propData.displayName;\r\n this.name = propData.name;\r\n this.id = propData.id;\r\n }\r\n}\r\n","import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\nimport { Validators } from '@angular/forms';\r\nimport { PersonalSettingsHalfRowComponent } from '../components/personal-settings/personal-settings-half-row.component';\r\n\r\nconst { maxLength, required, email } = Validators;\r\nexport const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS = FormProp.createMany<UpdateProfileDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::DisplayName:UserName',\r\n id: 'username',\r\n validators: () => [required, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::DisplayName:Name',\r\n id: 'name',\r\n validators: () => [maxLength(64)],\r\n template: PersonalSettingsHalfRowComponent,\r\n className: 'd-inline-block w-50',\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'surname',\r\n displayName: 'AbpIdentity::DisplayName:Surname',\r\n id: 'surname',\r\n validators: () => [maxLength(64)],\r\n className: 'd-inline-block w-50 ps-4',\r\n template: PersonalSettingsHalfRowComponent,\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'email',\r\n displayName: 'AbpIdentity::DisplayName:Email',\r\n id: 'email-address',\r\n validators: () => [required, email, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::DisplayName:PhoneNumber',\r\n id: 'phone-number',\r\n validators: () => [maxLength(16)],\r\n },\r\n]);\r\n","import { eAccountComponents } from '../enums';\r\nimport { DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS } from '../defaults/default-personal-settings-form-props';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\n\r\nexport const DEFAULT_ACCOUNT_FORM_PROPS = {\r\n [eAccountComponents.PersonalSettings]: DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS,\r\n};\r\n\r\nexport const ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS = new InjectionToken<EditFormPropContributors>(\r\n 'ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS',\r\n);\r\n\r\ntype EditFormPropContributors = Partial<{\r\n [eAccountComponents.PersonalSettings]: EditFormPropContributorCallback<UpdateProfileDto>[];\r\n}>;\r\n","import { ProfileDto, ProfileService } from '@abp/ng.account.core/proxy';\r\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, Inject, Injector, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { finalize, filter } from 'rxjs/operators';\r\nimport { Account } from '../../models/account';\r\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\r\nimport { AuthService } from '@abp/ng.core';\r\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from '../../tokens';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { eAccountComponents } from '../../enums';\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 providers: [\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eAccountComponents.PersonalSettings,\r\n },\r\n ],\r\n})\r\nexport class PersonalSettingsComponent\r\n implements\r\n OnInit,\r\n Account.PersonalSettingsComponentInputs,\r\n Account.PersonalSettingsComponentOutputs\r\n{\r\n selected: ProfileDto;\r\n\r\n form: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n private profile: ProfileDto;\r\n\r\n constructor(\r\n private fb: UntypedFormBuilder,\r\n private toasterService: ToasterService,\r\n private profileService: ProfileService,\r\n private manageProfileState: ManageProfileStateService,\r\n private readonly authService: AuthService,\r\n private confirmationService: ConfirmationService,\r\n @Inject(RE_LOGIN_CONFIRMATION_TOKEN)\r\n private isPersonalSettingsChangedConfirmationActive: boolean,\r\n protected injector: Injector,\r\n ) {}\r\n\r\n buildForm() {\r\n this.selected = this.manageProfileState.getProfile();\r\n if (!this.selected) {\r\n return;\r\n }\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n submit() {\r\n if (this.form.invalid) return;\r\n const isLogOutConfirmMessageVisible = this.isLogoutConfirmMessageActive();\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 if (isLogOutConfirmMessageVisible) {\r\n this.showLogoutConfirmMessage();\r\n }\r\n });\r\n }\r\n\r\n isDataSame(oldValue, newValue) {\r\n return Object.entries(oldValue).some(([key, value]) => {\r\n if (key in newValue) {\r\n return value !== newValue[key];\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n logoutConfirmation = () => {\r\n this.authService.logout().subscribe();\r\n };\r\n\r\n private isLogoutConfirmMessageActive() {\r\n if (!this.isPersonalSettingsChangedConfirmationActive) {\r\n return false;\r\n }\r\n return this.isDataSame(this.profile, this.form.value);\r\n }\r\n\r\n private showLogoutConfirmMessage() {\r\n this.confirmationService\r\n .info(\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalDescription',\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalTitle',\r\n )\r\n .pipe(filter(status => status === Confirmation.Status.confirm))\r\n .subscribe(this.logoutConfirmation);\r\n }\r\n}\r\n","<form [formGroup]=\"form\" *ngIf=\"form\" (ngSubmit)=\"submit()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n [loading]=\"inProgress\"\r\n >\r\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n","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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { Injectable, Injector } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { ConfigStateService } from '@abp/ng.core';\r\nimport { tap, map, mapTo } from 'rxjs/operators';\r\nimport {\r\n ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n} from '../tokens/extensions.token';\r\nimport { AccountEditFormPropContributors } from '../models/config-options';\r\nimport { eAccountComponents } from '../enums/components';\r\n\r\n@Injectable()\r\nexport class AccountExtensionsGuard implements CanActivate {\r\n constructor(private injector: Injector) {}\r\n\r\n canActivate(): Observable<boolean> {\r\n const extensions: ExtensionsService = this.injector.get(ExtensionsService);\r\n\r\n const editFormContributors: AccountEditFormPropContributors =\r\n this.injector.get(ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};\r\n\r\n const configState = this.injector.get(ConfigStateService);\r\n return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eAccountComponents.PersonalSettings]: entities.User,\r\n })),\r\n mapEntitiesToContributors(configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultProps(\r\n extensions.editFormProps,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n mapTo(true),\r\n );\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\nimport { AccountExtensionsGuard } from './guards';\r\n\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, AccountExtensionsGuard],\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\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens';\r\nimport { UiExtensionsModule } from '@abp/ng.theme.shared/extensions';\r\nimport { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token';\r\nimport { AccountExtensionsGuard } from './guards/extensions.guard';\r\nimport { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.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 PersonalSettingsHalfRowComponent,\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 UiExtensionsModule,\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 provide: RE_LOGIN_CONFIRMATION_TOKEN,\r\n useValue: options.isPersonalSettingsChangedConfirmationActive ?? true,\r\n },\r\n {\r\n provide: ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.editFormPropContributors,\r\n },\r\n AccountExtensionsGuard,\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":["i4","i5","i6","maxLength","required","i2","i3","PASSWORD_FIELDS","i4.ManageProfileStateService","email","i8","i1","i2.ManageProfileStateService","i6.ChangePasswordComponent","i7.PersonalSettingsComponent"],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.account.mjs","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/tokens/re-login-confirmation.token.ts","../../../../packages/account/src/lib/components/personal-settings/personal-settings-half-row.component.ts","../../../../packages/account/src/lib/defaults/default-personal-settings-form-props.ts","../../../../packages/account/src/lib/tokens/extensions.token.ts","../../../../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/guards/extensions.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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n\r\n isEmailSent = false;\r\n\r\n constructor(private fb: UntypedFormBuilder, 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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 UntypedFormControl('', [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 { InjectionToken } from '@angular/core';\r\n\r\nexport const RE_LOGIN_CONFIRMATION_TOKEN = new InjectionToken<boolean>(\r\n 'RE_LOGIN_CONFIRMATION_TOKEN',\r\n);\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n EXTENSIONS_FORM_PROP,\r\n FormProp,\r\n EXTENSIBLE_FORM_VIEW_PROVIDER,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'abp-personal-settings-half-row',\r\n template: ` <div class=\"w-50 d-inline\">\r\n <div class=\"mb-3\">\r\n <label [attr.for]=\"name\" class=\"form-label\">{{ displayName | abpLocalization }} </label>\r\n <input\r\n type=\"text\"\r\n [attr.id]=\"id\"\r\n class=\"form-control\"\r\n [attr.name]=\"name\"\r\n [formControlName]=\"name\"\r\n />\r\n </div>\r\n </div>`,\r\n styles: [],\r\n viewProviders: [EXTENSIBLE_FORM_VIEW_PROVIDER],\r\n})\r\nexport class PersonalSettingsHalfRowComponent {\r\n public displayName: string;\r\n public name: string;\r\n public id: string;\r\n public formGroup: UntypedFormGroup;\r\n\r\n constructor(@Inject(EXTENSIONS_FORM_PROP) private propData: FormProp) {\r\n this.displayName = propData.displayName;\r\n this.name = propData.name;\r\n this.id = propData.id;\r\n }\r\n}\r\n","import { ePropType, FormProp } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\nimport { Validators } from '@angular/forms';\r\nimport { PersonalSettingsHalfRowComponent } from '../components/personal-settings/personal-settings-half-row.component';\r\n\r\nconst { maxLength, required, email } = Validators;\r\nexport const DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS = FormProp.createMany<UpdateProfileDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::DisplayName:UserName',\r\n id: 'username',\r\n validators: () => [required, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::DisplayName:Name',\r\n id: 'name',\r\n validators: () => [maxLength(64)],\r\n template: PersonalSettingsHalfRowComponent,\r\n className: 'd-inline-block w-50',\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'surname',\r\n displayName: 'AbpIdentity::DisplayName:Surname',\r\n id: 'surname',\r\n validators: () => [maxLength(64)],\r\n className: 'd-inline-block w-50 ps-4',\r\n template: PersonalSettingsHalfRowComponent,\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'email',\r\n displayName: 'AbpIdentity::DisplayName:Email',\r\n id: 'email-address',\r\n validators: () => [required, email, maxLength(256)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::DisplayName:PhoneNumber',\r\n id: 'phone-number',\r\n validators: () => [maxLength(16)],\r\n },\r\n]);\r\n","import { eAccountComponents } from '../enums';\r\nimport { DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS } from '../defaults/default-personal-settings-form-props';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { EditFormPropContributorCallback } from '@abp/ng.theme.shared/extensions';\r\nimport { UpdateProfileDto } from '@abp/ng.account.core/proxy';\r\n\r\nexport const DEFAULT_ACCOUNT_FORM_PROPS = {\r\n [eAccountComponents.PersonalSettings]: DEFAULT_PERSONAL_SETTINGS_UPDATE_FORM_PROPS,\r\n};\r\n\r\nexport const ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS = new InjectionToken<EditFormPropContributors>(\r\n 'ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS',\r\n);\r\n\r\ntype EditFormPropContributors = Partial<{\r\n [eAccountComponents.PersonalSettings]: EditFormPropContributorCallback<UpdateProfileDto>[];\r\n}>;\r\n","import { ProfileDto, ProfileService } from '@abp/ng.account.core/proxy';\r\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, Inject, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { finalize, filter } from 'rxjs/operators';\r\nimport { Account } from '../../models/account';\r\nimport { ManageProfileStateService } from '../../services/manage-profile.state.service';\r\nimport { AuthService } from '@abp/ng.core';\r\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from '../../tokens';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { eAccountComponents } from '../../enums';\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 providers: [\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eAccountComponents.PersonalSettings,\r\n },\r\n ],\r\n})\r\nexport class PersonalSettingsComponent\r\n implements\r\n OnInit,\r\n Account.PersonalSettingsComponentInputs,\r\n Account.PersonalSettingsComponentOutputs\r\n{\r\n selected: ProfileDto;\r\n\r\n form: UntypedFormGroup;\r\n\r\n inProgress: boolean;\r\n private profile: ProfileDto;\r\n\r\n constructor(\r\n private fb: UntypedFormBuilder,\r\n private toasterService: ToasterService,\r\n private profileService: ProfileService,\r\n private manageProfileState: ManageProfileStateService,\r\n private readonly authService: AuthService,\r\n private confirmationService: ConfirmationService,\r\n @Inject(RE_LOGIN_CONFIRMATION_TOKEN)\r\n private isPersonalSettingsChangedConfirmationActive: boolean,\r\n protected injector: Injector,\r\n ) {}\r\n\r\n buildForm() {\r\n this.selected = this.manageProfileState.getProfile();\r\n if (!this.selected) {\r\n return;\r\n }\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n submit() {\r\n if (this.form.invalid) return;\r\n const isLogOutConfirmMessageVisible = this.isLogoutConfirmMessageActive();\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 if (isLogOutConfirmMessageVisible) {\r\n this.showLogoutConfirmMessage();\r\n }\r\n });\r\n }\r\n\r\n isDataSame(oldValue, newValue) {\r\n return Object.entries(oldValue).some(([key, value]) => {\r\n if (key in newValue) {\r\n return value !== newValue[key];\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n logoutConfirmation = () => {\r\n this.authService.logout().subscribe();\r\n };\r\n\r\n private isLogoutConfirmMessageActive() {\r\n if (!this.isPersonalSettingsChangedConfirmationActive) {\r\n return false;\r\n }\r\n return this.isDataSame(this.profile, this.form.value);\r\n }\r\n\r\n private showLogoutConfirmMessage() {\r\n this.confirmationService\r\n .info(\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalDescription',\r\n 'AbpAccount::PersonalSettingsChangedConfirmationModalTitle',\r\n )\r\n .pipe(filter(status => status === Confirmation.Status.confirm))\r\n .subscribe(this.logoutConfirmation);\r\n }\r\n}\r\n","<form [formGroup]=\"form\" *ngIf=\"form\" (ngSubmit)=\"submit()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary color-white\"\r\n [loading]=\"inProgress\"\r\n >\r\n {{ 'AbpIdentity::Save' | abpLocalization }}</abp-button\r\n >\r\n</form>\r\n","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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { UntypedFormBuilder, UntypedFormGroup, 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: UntypedFormGroup;\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: UntypedFormBuilder,\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 { Injectable, Injector } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { ConfigStateService } from '@abp/ng.core';\r\nimport { tap, map, mapTo } from 'rxjs/operators';\r\nimport {\r\n ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n} from '../tokens/extensions.token';\r\nimport { AccountEditFormPropContributors } from '../models/config-options';\r\nimport { eAccountComponents } from '../enums/components';\r\n\r\n@Injectable()\r\nexport class AccountExtensionsGuard implements CanActivate {\r\n constructor(private injector: Injector) {}\r\n\r\n canActivate(): Observable<boolean> {\r\n const extensions: ExtensionsService = this.injector.get(ExtensionsService);\r\n\r\n const editFormContributors: AccountEditFormPropContributors =\r\n this.injector.get(ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};\r\n\r\n const configState = this.injector.get(ConfigStateService);\r\n return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eAccountComponents.PersonalSettings]: entities.User,\r\n })),\r\n mapEntitiesToContributors(configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultProps(\r\n extensions.editFormProps,\r\n DEFAULT_ACCOUNT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n mapTo(true),\r\n );\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\nimport { AccountExtensionsGuard } from './guards';\r\n\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, AccountExtensionsGuard],\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\nimport { RE_LOGIN_CONFIRMATION_TOKEN } from './tokens';\r\nimport { UiExtensionsModule } from '@abp/ng.theme.shared/extensions';\r\nimport { ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS } from './tokens/extensions.token';\r\nimport { AccountExtensionsGuard } from './guards/extensions.guard';\r\nimport { PersonalSettingsHalfRowComponent } from './components/personal-settings/personal-settings-half-row.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 PersonalSettingsHalfRowComponent,\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 UiExtensionsModule,\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 provide: RE_LOGIN_CONFIRMATION_TOKEN,\r\n useValue: options.isPersonalSettingsChangedConfirmationActive ?? true,\r\n },\r\n {\r\n provide: ACCOUNT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.editFormPropContributors,\r\n },\r\n AccountExtensionsGuard,\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":["i4","i5","i6","maxLength","required","i2","i3","PASSWORD_FIELDS","i4.ManageProfileStateService","email","i8","i1","i2.ManageProfileStateService","i6.ChangePasswordComponent","i7.PersonalSettingsComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@abp/ng.account",
3
- "version": "6.0.1",
3
+ "version": "7.0.0-rc.2",
4
4
  "homepage": "https://abp.io",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/abpframework/abp.git"
8
8
  },
9
9
  "dependencies": {
10
- "@abp/ng.account.core": "~6.0.1",
11
- "@abp/ng.theme.shared": "~6.0.1",
10
+ "@abp/ng.account.core": "~7.0.0-rc.2",
11
+ "@abp/ng.theme.shared": "~7.0.0-rc.2",
12
12
  "tslib": "^2.0.0"
13
13
  },
14
14
  "publishConfig": {
@@ -43,6 +43,6 @@
43
43
  },
44
44
  "sideEffects": false,
45
45
  "peerDependencies": {
46
- "@abp/ng.core": "6.0.1"
46
+ "@abp/ng.core": "7.0.0-rc.2"
47
47
  }
48
48
  }