From b637cea059f5c6f6295ef53b82216658cbd3f8f6 Mon Sep 17 00:00:00 2001 From: Cilibiu Bogdan Date: Sun, 6 Oct 2019 20:09:51 +0300 Subject: [PATCH] focus dialog on files added (#5124) --- .../file-uploading-dialog.component.spec.ts | 20 +++++++++++++++++++ .../file-uploading-dialog.component.ts | 2 ++ 2 files changed, 22 insertions(+) diff --git a/lib/content-services/upload/components/file-uploading-dialog.component.spec.ts b/lib/content-services/upload/components/file-uploading-dialog.component.spec.ts index a7154c8ff3..587ec342e4 100644 --- a/lib/content-services/upload/components/file-uploading-dialog.component.spec.ts +++ b/lib/content-services/upload/components/file-uploading-dialog.component.spec.ts @@ -88,6 +88,26 @@ describe('FileUploadingDialogComponent', () => { expect(document.activeElement.id).toBe('upload-dialog'); })); + it('should refocus on dialog when uploading another file', fakeAsync(() => { + uploadService.addToQueue(...fileList); + uploadService.uploadFilesInTheQueue(emitter); + + fixture.detectChanges(); + tick(100); + + (document.querySelector('#upload-dialog') as HTMLElement).blur(); + + expect(document.activeElement.id).not.toBe('upload-dialog'); + + uploadService.addToQueue(...fileList); + uploadService.uploadFilesInTheQueue(emitter); + + fixture.detectChanges(); + tick(100); + + expect(document.activeElement.id).toBe('upload-dialog'); + })); + it('should update uploading file list', () => { uploadService.addToQueue(...fileList); uploadService.uploadFilesInTheQueue(emitter); diff --git a/lib/content-services/upload/components/file-uploading-dialog.component.ts b/lib/content-services/upload/components/file-uploading-dialog.component.ts index 35a27809ea..aea94b8e1d 100644 --- a/lib/content-services/upload/components/file-uploading-dialog.component.ts +++ b/lib/content-services/upload/components/file-uploading-dialog.component.ts @@ -98,6 +98,8 @@ export class FileUploadingDialogComponent implements OnInit, OnDestroy { if (this.filesUploadingList.length && !this.isDialogActive) { this.isDialogActive = true; this.dialogActive.next(); + } else { + this.dialogActive.next(); } });