|
|
@@ -3,7 +3,7 @@
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
*/
|
|
|
|
|
|
-import { FC, useState } from 'react';
|
|
|
+import { FC, useState, useEffect } from 'react';
|
|
|
|
|
|
import classnames from 'classnames';
|
|
|
import { WorkflowInputs, WorkflowOutputs } from '@flowgram.ai/runtime-interface';
|
|
|
@@ -114,6 +114,26 @@ export const TestRunSidePanel: FC<TestRunSidePanelProps> = () => {
|
|
|
</Button>
|
|
|
);
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
+ const disposer = runtimeService.onResultChanged(({ result, errors }) => {
|
|
|
+ setRunning(false);
|
|
|
+ setResult(result);
|
|
|
+ if (errors) {
|
|
|
+ setErrors(errors);
|
|
|
+ } else {
|
|
|
+ setErrors(undefined);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return () => disposer.dispose();
|
|
|
+ }, []);
|
|
|
+
|
|
|
+ useEffect(
|
|
|
+ () => () => {
|
|
|
+ runtimeService.taskCancel();
|
|
|
+ },
|
|
|
+ [runtimeService]
|
|
|
+ );
|
|
|
+
|
|
|
return (
|
|
|
<div className={styles['testrun-panel-container']}>
|
|
|
<div className={styles['testrun-panel-header']}>
|