@@ -146,6 +146,9 @@ function OperationsActions({operation, database, refreshTable}: OperationsAction
146146 return null ;
147147 }
148148
149+ const isForgetButtonDisabled = isLoadingCancel ;
150+ const isCancelButtonDisabled = isForgetLoading || operation . ready === true ;
151+
149152 return (
150153 < Flex gap = "2" >
151154 < ActionTooltip title = { i18n ( 'header_forget' ) } placement = { [ 'left' , 'auto' ] } >
@@ -166,15 +169,20 @@ function OperationsActions({operation, database, refreshTable}: OperationsAction
166169 refreshTable ( ) ;
167170 } )
168171 }
169- buttonDisabled = { isLoadingCancel }
172+ buttonDisabled = { isForgetButtonDisabled }
170173 >
171174 < Icon data = { Ban } />
172175 </ ButtonWithConfirmDialog >
173176 </ div >
174177 </ ActionTooltip >
175- < ActionTooltip title = { i18n ( 'header_cancel' ) } placement = { [ 'right' , 'auto' ] } >
178+ < ActionTooltip
179+ title = { i18n ( 'header_cancel' ) }
180+ placement = { [ 'right' , 'auto' ] }
181+ disabled = { isCancelButtonDisabled }
182+ >
176183 < div >
177184 < ButtonWithConfirmDialog
185+ popoverDisabled = { isCancelButtonDisabled }
178186 buttonView = "outlined"
179187 dialogHeader = { i18n ( 'header_cancel' ) }
180188 dialogText = { i18n ( 'text_cancel' ) }
@@ -190,7 +198,7 @@ function OperationsActions({operation, database, refreshTable}: OperationsAction
190198 refreshTable ( ) ;
191199 } )
192200 }
193- buttonDisabled = { isForgetLoading }
201+ buttonDisabled = { isCancelButtonDisabled }
194202 >
195203 < Icon data = { CircleStop } />
196204 </ ButtonWithConfirmDialog >
0 commit comments