From c43d93a0101527f0ba354a53bc3fd2bac995ad76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CAleksandrRyakhov=E2=80=9D?=
 <“aleksandr_ryakhov@epam.com”>
Date: Fri, 23 Jul 2021 13:29:08 +0300
Subject: [PATCH 1/3]  #612 limitation of s-group count

 Fix the impossibility to save the structure with a large number of atoms
---
 .../ui/views/modal/components/document/Save/Save.jsx   | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx b/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
index 137ec50328..334c8a59ce 100644
--- a/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
+++ b/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
@@ -88,15 +88,17 @@ class SaveDialog extends Component {
         enumNames: formats.map(format => getPropertiesByFormat(format).name)
       }
     )
-
-    this.changeType(this.isRxn ? 'rxn' : 'mol').then(res =>
-      res instanceof Error ? props.onCancel() : null
-    )
   }
 
   componentDidMount() {
     const { checkOptions } = this.props.checkState
     this.props.onCheck(checkOptions)
+    this.setState({ disableControls: true })
+    setTimeout(() => {
+      this.changeType(this.isRxn ? 'rxn' : 'mol').then(res =>
+        res instanceof Error ? this.setState({ disableControls: true }) : null
+      )
+    }, 0)
   }
 
   showStructWarningMessage = format => {

From c053a0506cdf61810b9d2b150fac33628f5695ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CAleksandrRyakhov=E2=80=9D?=
 <“aleksandr_ryakhov@epam.com”>
Date: Mon, 26 Jul 2021 18:35:06 +0300
Subject: [PATCH 2/3]  #646 limitation of s group count

 Code refactoring
---
 .../ui/views/modal/components/document/Save/Save.jsx       | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx b/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
index 334c8a59ce..96ef7fe27d 100644
--- a/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
+++ b/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
@@ -63,7 +63,7 @@ class SaveDialog extends Component {
   constructor(props) {
     super(props)
     this.state = {
-      disableControls: false,
+      disableControls: true,
       imageFormat: 'svg',
       tabIndex: 0
     }
@@ -93,10 +93,9 @@ class SaveDialog extends Component {
   componentDidMount() {
     const { checkOptions } = this.props.checkState
     this.props.onCheck(checkOptions)
-    this.setState({ disableControls: true })
     setTimeout(() => {
-      this.changeType(this.isRxn ? 'rxn' : 'mol').then(res =>
-        res instanceof Error ? this.setState({ disableControls: true }) : null
+      this.changeType(this.isRxn ? 'rxn' : 'mol').then(
+        res => res instanceof Error && this.setState({ disableControls: true })
       )
     }, 0)
   }

From d025307f29b16bb4f94ca544b3488dbad67ebe35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CAleksandrRyakhov=E2=80=9D?=
 <“aleksandr_ryakhov@epam.com”>
Date: Thu, 29 Jul 2021 16:28:28 +0300
Subject: [PATCH 3/3]  #646 limitation of s group count

 Delete setTimeout
---
 .../ui/views/modal/components/document/Save/Save.jsx      | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx b/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
index 96ef7fe27d..d4d07110d2 100644
--- a/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
+++ b/packages/ketcher-react/src/script/ui/views/modal/components/document/Save/Save.jsx
@@ -93,11 +93,9 @@ class SaveDialog extends Component {
   componentDidMount() {
     const { checkOptions } = this.props.checkState
     this.props.onCheck(checkOptions)
-    setTimeout(() => {
-      this.changeType(this.isRxn ? 'rxn' : 'mol').then(
-        res => res instanceof Error && this.setState({ disableControls: true })
-      )
-    }, 0)
+    this.changeType(this.isRxn ? 'rxn' : 'mol').then(
+      res => res instanceof Error && this.setState({ disableControls: true })
+    )
   }
 
   showStructWarningMessage = format => {