Przeglądaj źródła

fix: running finished with loading (#829)

July 3 miesięcy temu
rodzic
commit
8865e8d8e5

+ 21 - 1
apps/demo-free-layout/src/components/testrun/testrun-panel/test-run-panel.tsx

@@ -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']}>

+ 6 - 1
packages/plugins/panel-manager-plugin/src/components/panel-layer/float-panel.tsx

@@ -15,7 +15,12 @@ export const FloatPanel: React.FC<{ area: Area }> = ({ area }) => {
   const panel = useRef(panelManager.getPanel(area));
   const render = () =>
     panel.current.elements.map((i) => (
-      <div className="float-panel-wrap" key={i.key} style={floatPanelWrap}>
+      <div
+        className="float-panel-wrap"
+        key={i.key}
+        style={floatPanelWrap}
+        onMouseDown={(e) => e.stopPropagation()}
+      >
         {i.el}
       </div>
     ));