diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-apply-dialog/draft-apply-dialog.component.html b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-apply-dialog/draft-apply-dialog.component.html index 3136ed2c09..d344e1b1de 100644 --- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-apply-dialog/draft-apply-dialog.component.html +++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-apply-dialog/draft-apply-dialog.component.html @@ -19,7 +19,7 @@

{{ t("select_alternate_project") }}

@if (!isAppOnline) { {{ t("connect_to_the_internet") }} } - @if (projectSelectValid && canEditProject) { + @if (isValid) {
@if (targetChapters$ | async; as chapters) { = new Map(); + isValid: boolean = false; constructor( @Inject(MAT_DIALOG_DATA) private data: DraftApplyDialogConfig, @@ -188,8 +189,11 @@ export class DraftApplyDialogComponent implements OnInit { } private validateProject(): void { - // setTimeout prevents a "changed after checked" exception - setTimeout(() => this.projectSelect?.customValidate(SFValidators.customValidator(this.getCustomErrorState()))); + // setTimeout prevents a "changed after checked" exception (may be removable after SF-3014) + setTimeout(() => { + this.isValid = this.getCustomErrorState() === CustomErrorState.None; + this.projectSelect?.customValidate(SFValidators.customValidator(this.getCustomErrorState())); + }); } private async chaptersWithTextAsync(project: SFProjectProfile): Promise {