From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 11 Jul 2024 03:27:04 +0000 (-0700) Subject: Enhancement: disable add split button when approrpriate (#7215) X-Git-Tag: v2.11.0~1^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de8ac013eea0bfc4f844ae52fca45c9532e703b5;p=thirdparty%2Fpaperless-ngx.git Enhancement: disable add split button when approrpriate (#7215) --- diff --git a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.html index 411f5ab79e..7fb68218ae 100644 --- a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.html +++ b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.html @@ -23,7 +23,7 @@
- diff --git a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts index 66bf2bf71f..ffb5e12f33 100644 --- a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.spec.ts @@ -92,4 +92,16 @@ describe('SplitConfirmDialogComponent', () => { component.pdfPreviewLoaded({ numPages: 5 } as any) expect(component.totalPages).toEqual(5) }) + + it('should correctly disable split button', () => { + component.totalPages = 5 + component.page = 1 + expect(component.canSplit).toBeTruthy() + component.page = 5 + expect(component.canSplit).toBeFalsy() + component.page = 4 + expect(component.canSplit).toBeTruthy() + component['pages'] = new Set([1, 2, 3, 4]) + expect(component.canSplit).toBeFalsy() + }) }) diff --git a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts index 266da00ab0..d5f2641166 100644 --- a/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/split-confirm-dialog/split-confirm-dialog.component.ts @@ -42,6 +42,14 @@ export class SplitConfirmDialogComponent public totalPages: number public deleteOriginal: boolean = false + public get canSplit(): boolean { + return ( + this.page < this.totalPages && + this.pages.size < this.totalPages - 1 && + !this.pages.has(this.page) + ) + } + public get pdfSrc(): string { return this.documentService.getPreviewUrl(this.documentID) }