diff --git a/src/components/EditListingWizard/EditListingWizard.js b/src/components/EditListingWizard/EditListingWizard.js index 0206f3bb..a23d7c42 100644 --- a/src/components/EditListingWizard/EditListingWizard.js +++ b/src/components/EditListingWizard/EditListingWizard.js @@ -101,6 +101,11 @@ class EditListingWizard extends Component { // Having this info in state would trigger unnecessary rerendering this.hasScrolledToTab = false; + this.handleCreateFlowTabScrolling = this.handleCreateFlowTabScrolling.bind(this); + } + + handleCreateFlowTabScrolling(shouldScroll) { + this.hasScrolledToTab = shouldScroll; } render() { @@ -155,6 +160,7 @@ class EditListingWizard extends Component { params={params} listing={listing} marketplaceTabs={TABS} + handleCreateFlowTabScrolling={this.handleCreateFlowTabScrolling} /> ); })} diff --git a/src/components/EditListingWizard/EditListingWizardTab.js b/src/components/EditListingWizard/EditListingWizardTab.js index 750c3851..04e3f569 100644 --- a/src/components/EditListingWizard/EditListingWizardTab.js +++ b/src/components/EditListingWizard/EditListingWizardTab.js @@ -44,6 +44,7 @@ const EditListingWizardTab = props => { history, images, listing, + handleCreateFlowTabScrolling, onCreateListing, onUpdateListing, onCreateListingDraft, @@ -68,6 +69,9 @@ const EditListingWizardTab = props => { if (isNew) { const onUpsertListingDraft = currentListing.id ? onUpdateListingDraft : onCreateListingDraft; onUpsertListingDraft(updateValues); + + // Create listing flow: smooth scrolling polyfill to scroll to correct tab + handleCreateFlowTabScrolling(false); // Redirect to next tab const pathParams = pathParamsToNextTab(params, tab, marketplaceTabs); history.push( @@ -225,6 +229,7 @@ EditListingWizardTab.propTypes = { images: array, }), + handleCreateFlowTabScrolling: func.isRequired, onCreateListing: func.isRequired, onUpdateListing: func.isRequired, onCreateListingDraft: func.isRequired,