diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.html b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.html index ea3228dd56a..f4c58a2d82c 100644 --- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.html +++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-usfm-format/draft-usfm-format.component.html @@ -58,7 +58,7 @@

{{ t("formatting_options") }}

- +
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',