From c9f4568b69e8a62289d03f8e505d93f8bea73386 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Mon, 16 Nov 2020 16:15:00 +0100 Subject: [PATCH] [835] Auto-save in new Item Submission form breaks the form Disable autosave when timer is equal to 0 --- src/app/submission/submission.service.spec.ts | 20 +++++++++++++++++++ src/app/submission/submission.service.ts | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/src/app/submission/submission.service.spec.ts b/src/app/submission/submission.service.spec.ts index 5816c97bde..14c369581a 100644 --- a/src/app/submission/submission.service.spec.ts +++ b/src/app/submission/submission.service.spec.ts @@ -915,6 +915,13 @@ describe('SubmissionService test suite', () => { }); describe('startAutoSave', () => { + + let environmentAutoSaveTimerOriginalValue; + + beforeEach(() => { + environmentAutoSaveTimerOriginalValue = environment.submission.autosave.timer; + }); + it('should start Auto Save', fakeAsync(() => { const duration = environment.submission.autosave.timer * (1000 * 60); @@ -930,6 +937,19 @@ describe('SubmissionService test suite', () => { sub.unsubscribe(); (service as any).autoSaveSub.unsubscribe(); })); + + it('should not start Auto Save if timer is 0', fakeAsync(() => { + environment.submission.autosave.timer = 0; + + service.startAutoSave('826'); + + expect((service as any).autoSaveSub).toBeUndefined(); + })); + + afterEach(() => { + environment.submission.autosave.timer = environmentAutoSaveTimerOriginalValue; + }) + }); describe('stopAutoSave', () => { diff --git a/src/app/submission/submission.service.ts b/src/app/submission/submission.service.ts index c9b1d41b40..728c860ca9 100644 --- a/src/app/submission/submission.service.ts +++ b/src/app/submission/submission.service.ts @@ -562,6 +562,10 @@ export class SubmissionService { */ startAutoSave(submissionId) { this.stopAutoSave(); + if (environment.submission.autosave.timer === 0) { + return; + } + // AUTOSAVE submission // Retrieve interval from config and convert to milliseconds const duration = environment.submission.autosave.timer * (1000 * 60);