diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.spec.ts b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.spec.ts
index d0cbddd0995..8c532572f54 100644
--- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.spec.ts
+++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.spec.ts
@@ -130,7 +130,7 @@ describe('DraftUsfmFormatComponent', () => {
const env = new TestEnvironment({ quotationAnalysis: QuotationAnalysis.Successful });
expect(env.component.paragraphFormat.value).toBe(ParagraphBreakFormat.BestGuess);
expect(env.component.quoteFormat.value).toBe(QuoteFormat.Denormalized);
- expect(await env.component.confirmLeave()).toBe(true);
+ expect(await env.component['confirmLeave']()).toBe(true);
expect(env.quoteFormatWarning).toBeNull();
}));
@@ -158,7 +158,7 @@ describe('DraftUsfmFormatComponent', () => {
tick();
env.fixture.detectChanges();
// user will be prompted that there are unsaved changes
- expect(await env.component.confirmLeave()).toBe(true);
+ expect(await env.component['confirmLeave']()).toBe(true);
verify(mockedProjectService.onlineSetUsfmConfig(env.projectId, anything())).never();
verify(mockedLocation.back()).once();
}));
diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.ts b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.ts
index 077a3cc776b..59f6b93bf65 100644
--- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.ts
+++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.ts
@@ -31,7 +31,6 @@ import { TextDocId } from '../../../core/models/text-doc';
import { SFProjectService } from '../../../core/sf-project.service';
import { QuotationAnalysis } from '../../../machine-api/quotation-denormalization';
import { ServalAdministrationService } from '../../../serval-administration/serval-administration.service';
-import { ConfirmOnLeave } from '../../../shared/project-router.guard';
import { SharedModule } from '../../../shared/shared.module';
import { TextComponent } from '../../../shared/text/text.component';
import { DraftGenerationService } from '../draft-generation.service';
@@ -57,7 +56,7 @@ import { DraftHandlingService } from '../draft-handling.service';
templateUrl: './draft-usfm-format.component.html',
styleUrl: './draft-usfm-format.component.scss'
})
-export class DraftUsfmFormatComponent extends DataLoadingComponent implements AfterViewInit, ConfirmOnLeave {
+export class DraftUsfmFormatComponent extends DataLoadingComponent implements AfterViewInit {
@ViewChild(TextComponent) draftText!: TextComponent;
bookNum: number = 1;
booksWithDrafts: number[] = [];
@@ -197,6 +196,11 @@ export class DraftUsfmFormatComponent extends DataLoadingComponent implements Af
this.reloadText();
}
+ async cancelClicked(): Promise {
+ if (!(await this.confirmLeave())) return;
+ this.close();
+ }
+
close(): void {
this.location.back();
}
@@ -224,7 +228,7 @@ export class DraftUsfmFormatComponent extends DataLoadingComponent implements Af
}
}
- async confirmLeave(): Promise {
+ private async confirmLeave(): Promise {
if (
this.lastSavedState?.paragraphFormat === this.currentFormat?.paragraphFormat &&
this.lastSavedState?.quoteFormat === this.currentFormat?.quoteFormat
diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/translate-routing.module.ts b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/translate-routing.module.ts
index e7d1abaa6d6..dab0d1cb395 100644
--- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/translate-routing.module.ts
+++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/translate-routing.module.ts
@@ -29,8 +29,7 @@ const routes: Routes = [
{
path: 'projects/:projectId/draft-generation/format',
component: DraftUsfmFormatComponent,
- canActivate: [NmtDraftAuthGuard],
- canDeactivate: [DraftNavigationAuthGuard]
+ canActivate: [NmtDraftAuthGuard]
},
{
path: 'projects/:projectId/draft-generation/format/:bookId',