@@ -21,6 +21,9 @@ const RunButton = ({ runnables, activeRunnables, getStatus, computationStopped,
21
21
const isDirtyComputationParameters = useSelector ( ( state ) => state . isDirtyComputationParameters ) ;
22
22
const [ isLaunchingPopupOpen , setIsLaunchingPopupOpen ] = useState ( false ) ;
23
23
24
+ // a transient state which is used only for a run with popup dialog
25
+ const [ runWithDebug , setRunWithDebug ] = useState ( false ) ;
26
+
24
27
const runnablesText = useMemo (
25
28
( ) => Object . fromEntries ( activeRunnables . map ( ( k ) => [ k , intl . formatMessage ( { id : runnables [ k ] . messageId } ) ] ) ) ,
26
29
[ intl , runnables , activeRunnables ]
@@ -81,22 +84,26 @@ const RunButton = ({ runnables, activeRunnables, getStatus, computationStopped,
81
84
return getRunningStatus ( ) === RunningStatus . RUNNING ;
82
85
}
83
86
84
- const attemptStartComputation = useCallback ( ( ) => {
85
- if ( isDirtyComputationParameters ) {
86
- setIsLaunchingPopupOpen ( true ) ;
87
- } else {
88
- runnables [ selectedRunnable ] . startComputation ( ) ;
89
- }
90
- } , [ isDirtyComputationParameters , runnables , selectedRunnable ] ) ;
87
+ const attemptStartComputation = useCallback (
88
+ ( debug ) => {
89
+ if ( isDirtyComputationParameters ) {
90
+ setIsLaunchingPopupOpen ( true ) ;
91
+ setRunWithDebug ( debug ) ;
92
+ } else {
93
+ runnables [ selectedRunnable ] . startComputation ( debug ) ;
94
+ }
95
+ } ,
96
+ [ isDirtyComputationParameters , runnables , selectedRunnable ]
97
+ ) ;
91
98
92
99
const handleLaunchingPopupClose = useCallback ( ( ) => {
93
100
setIsLaunchingPopupOpen ( false ) ;
94
101
} , [ ] ) ;
95
102
96
103
const handleLaunchingPopup = useCallback ( ( ) => {
97
104
setIsLaunchingPopupOpen ( false ) ;
98
- runnables [ selectedRunnable ] . startComputation ( ) ;
99
- } , [ runnables , selectedRunnable ] ) ;
105
+ runnables [ selectedRunnable ] . startComputation ( runWithDebug ) ;
106
+ } , [ runnables , selectedRunnable , runWithDebug ] ) ;
100
107
101
108
return (
102
109
< >
0 commit comments