diff --git a/src/Wizard.js b/src/Wizard.js index 494e2f2703..5c5ca81514 100644 --- a/src/Wizard.js +++ b/src/Wizard.js @@ -896,18 +896,6 @@ export default class Wizard extends Webform { } setValue(submission, flags = {}, ignoreEstablishment) { - this._submission = submission; - if ( - (flags && flags.fromSubmission && (this.options.readOnly || this.editMode) && !this.isHtmlRenderMode()) || - (flags && flags.fromSubmission && (this.prefixComps.length || this.suffixComps.length) && submission._id) || - (this.options.server && (this.prefixComps.length || this.suffixComps.length)) - ) { - this._data = submission.data; - } - - if (!ignoreEstablishment) { - this.establishPages(submission.data); - } const changed = this.getPages({ all: true }).reduce((changed, page) => { return this.setNestedValue(page, submission.data, flags, changed) || changed; }, false); @@ -922,8 +910,16 @@ export default class Wizard extends Webform { if (changed) { this.pageFieldLogic(this.page); } + this.setEditMode(submission); + submission.data = this.data; + this._submission = submission; + + if (!ignoreEstablishment) { + this.establishPages(submission.data); + } + return changed; } diff --git a/src/Wizard.unit.js b/src/Wizard.unit.js index 8773a5f7e9..ac6c45e03f 100644 --- a/src/Wizard.unit.js +++ b/src/Wizard.unit.js @@ -161,7 +161,7 @@ describe('Wizard tests', () => { }, 'Should contain correct submission data'); done(); - }, 200); + }, 500); }, 200); }, 200); }, 200);