[835] Auto-save in new Item Submission form breaks the form

Disable autosave when timer is equal to 0
This commit is contained in:
Alessandro Martelli
2020-11-16 16:15:00 +01:00
parent e867badcb5
commit c9f4568b69
2 changed files with 24 additions and 0 deletions

View File

@@ -915,6 +915,13 @@ describe('SubmissionService test suite', () => {
}); });
describe('startAutoSave', () => { describe('startAutoSave', () => {
let environmentAutoSaveTimerOriginalValue;
beforeEach(() => {
environmentAutoSaveTimerOriginalValue = environment.submission.autosave.timer;
});
it('should start Auto Save', fakeAsync(() => { it('should start Auto Save', fakeAsync(() => {
const duration = environment.submission.autosave.timer * (1000 * 60); const duration = environment.submission.autosave.timer * (1000 * 60);
@@ -930,6 +937,19 @@ describe('SubmissionService test suite', () => {
sub.unsubscribe(); sub.unsubscribe();
(service as any).autoSaveSub.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', () => { describe('stopAutoSave', () => {

View File

@@ -562,6 +562,10 @@ export class SubmissionService {
*/ */
startAutoSave(submissionId) { startAutoSave(submissionId) {
this.stopAutoSave(); this.stopAutoSave();
if (environment.submission.autosave.timer === 0) {
return;
}
// AUTOSAVE submission // AUTOSAVE submission
// Retrieve interval from config and convert to milliseconds // Retrieve interval from config and convert to milliseconds
const duration = environment.submission.autosave.timer * (1000 * 60); const duration = environment.submission.autosave.timer * (1000 * 60);