|
|
@ -5,7 +5,7 @@ import { |
|
|
ModalComponent, |
|
|
ModalComponent, |
|
|
ToasterService, |
|
|
ToasterService, |
|
|
} from '@abp/ng.theme.shared'; |
|
|
} from '@abp/ng.theme.shared'; |
|
|
import { Component, inject, OnInit, signal } from '@angular/core'; |
|
|
import { Component, inject, OnInit, signal, ChangeDetectionStrategy } from '@angular/core'; |
|
|
import { toSignal } from '@angular/core/rxjs-interop'; |
|
|
import { toSignal } from '@angular/core/rxjs-interop'; |
|
|
import { |
|
|
import { |
|
|
ReactiveFormsModule, |
|
|
ReactiveFormsModule, |
|
|
@ -28,6 +28,7 @@ import { NgxValidateCoreModule } from '@ngx-validate/core'; |
|
|
const { required, email } = Validators; |
|
|
const { required, email } = Validators; |
|
|
|
|
|
|
|
|
@Component({ |
|
|
@Component({ |
|
|
|
|
|
changeDetection: ChangeDetectionStrategy.OnPush, |
|
|
selector: 'abp-email-setting-group', |
|
|
selector: 'abp-email-setting-group', |
|
|
templateUrl: 'email-setting-group.component.html', |
|
|
templateUrl: 'email-setting-group.component.html', |
|
|
imports: [ |
|
|
imports: [ |
|
|
@ -53,11 +54,11 @@ export class EmailSettingGroupComponent implements OnInit { |
|
|
|
|
|
|
|
|
readonly form = signal<UntypedFormGroup | undefined>(undefined); |
|
|
readonly form = signal<UntypedFormGroup | undefined>(undefined); |
|
|
readonly loading = signal(true); |
|
|
readonly loading = signal(true); |
|
|
|
|
|
readonly saving = signal(false); |
|
|
|
|
|
readonly isEmailTestModalOpen = signal(false); |
|
|
|
|
|
|
|
|
emailTestForm!: UntypedFormGroup; |
|
|
emailTestForm!: UntypedFormGroup; |
|
|
saving = false; |
|
|
|
|
|
emailingPolicy = SettingManagementPolicyNames.Emailing; |
|
|
emailingPolicy = SettingManagementPolicyNames.Emailing; |
|
|
isEmailTestModalOpen = false; |
|
|
|
|
|
modalSize: NgbModalOptions = { size: 'lg' }; |
|
|
modalSize: NgbModalOptions = { size: 'lg' }; |
|
|
|
|
|
|
|
|
ngOnInit() { |
|
|
ngOnInit() { |
|
|
@ -93,12 +94,12 @@ export class EmailSettingGroupComponent implements OnInit { |
|
|
|
|
|
|
|
|
submit() { |
|
|
submit() { |
|
|
const form = this.form(); |
|
|
const form = this.form(); |
|
|
if (!form || this.saving || form.invalid) return; |
|
|
if (!form || this.saving() || form.invalid) return; |
|
|
|
|
|
|
|
|
this.saving = true; |
|
|
this.saving.set(true); |
|
|
this.emailSettingsService |
|
|
this.emailSettingsService |
|
|
.update(form.value) |
|
|
.update(form.value) |
|
|
.pipe(finalize(() => (this.saving = false))) |
|
|
.pipe(finalize(() => this.saving.set(false))) |
|
|
.subscribe(() => { |
|
|
.subscribe(() => { |
|
|
this.toasterService.success('AbpSettingManagement::SavedSuccessfully'); |
|
|
this.toasterService.success('AbpSettingManagement::SavedSuccessfully'); |
|
|
this.getData(); |
|
|
this.getData(); |
|
|
@ -107,7 +108,7 @@ export class EmailSettingGroupComponent implements OnInit { |
|
|
|
|
|
|
|
|
openSendEmailModal() { |
|
|
openSendEmailModal() { |
|
|
this.buildEmailTestForm(); |
|
|
this.buildEmailTestForm(); |
|
|
this.isEmailTestModalOpen = true; |
|
|
this.isEmailTestModalOpen.set(true); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
buildEmailTestForm() { |
|
|
buildEmailTestForm() { |
|
|
@ -133,7 +134,7 @@ export class EmailSettingGroupComponent implements OnInit { |
|
|
|
|
|
|
|
|
this.emailSettingsService.sendTestEmail(this.emailTestForm.value).subscribe(() => { |
|
|
this.emailSettingsService.sendTestEmail(this.emailTestForm.value).subscribe(() => { |
|
|
this.toasterService.success('AbpSettingManagement::SentSuccessfully'); |
|
|
this.toasterService.success('AbpSettingManagement::SentSuccessfully'); |
|
|
this.isEmailTestModalOpen = false; |
|
|
this.isEmailTestModalOpen.set(false); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|