mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 03:16:10 -06:00 
			
		
		
		
	Enhancement: disable add split button when approrpriate (#7215)
This commit is contained in:
		@@ -23,7 +23,7 @@
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="col-4">
 | 
			
		||||
            <div class="d-grid">
 | 
			
		||||
                <button class="btn btn-sm btn-primary" (click)="addSplit()" [disabled]="page === totalPages">
 | 
			
		||||
                <button class="btn btn-sm btn-primary" (click)="addSplit()" [disabled]="!canSplit">
 | 
			
		||||
                    <i-bs name="plus-circle"></i-bs> 
 | 
			
		||||
                    <span i18n>Add Split</span>
 | 
			
		||||
                </button>
 | 
			
		||||
 
 | 
			
		||||
@@ -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()
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user