darabos commited on
Commit
a8323d4
·
1 Parent(s): 6b67860

Hide visualization parameters by default.

Browse files
lynxkite-app/web/src/index.css CHANGED
@@ -242,6 +242,20 @@ body {
242
  }
243
  }
244
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  .directory {
246
  .entry-list {
247
  width: 100%;
 
242
  }
243
  }
244
 
245
+ .params-expander {
246
+ font-size: 15px;
247
+ padding: 4px;
248
+ color: #000a;
249
+ }
250
+
251
+ .flippy {
252
+ transition: transform 0.5s;
253
+ }
254
+
255
+ .flippy.flippy-90 {
256
+ transform: rotate(-90deg);
257
+ }
258
+
259
  .directory {
260
  .entry-list {
261
  width: 100%;
lynxkite-app/web/src/workspace/nodes/NodeWithParams.tsx CHANGED
@@ -1,4 +1,7 @@
1
  import { useReactFlow } from "@xyflow/react";
 
 
 
2
  import LynxKiteNode from "./LynxKiteNode";
3
  import NodeGroupParameter from "./NodeGroupParameter";
4
  import NodeParameter from "./NodeParameter";
@@ -8,6 +11,7 @@ export type UpdateOptions = { delay?: number };
8
  function NodeWithParams(props: any) {
9
  const reactFlow = useReactFlow();
10
  const metaParams = props.data.meta?.params;
 
11
 
12
  function setParam(name: string, newValue: any, opts: UpdateOptions) {
13
  reactFlow.updateNodeData(props.id, (prevData: any) => ({
@@ -31,31 +35,40 @@ function NodeWithParams(props: any) {
31
 
32
  return (
33
  <LynxKiteNode {...props}>
34
- {params.map(([name, value]) =>
35
- metaParams?.[name]?.type === "group" ? (
36
- <NodeGroupParameter
37
- key={name}
38
- value={value}
39
- meta={metaParams?.[name]}
40
- setParam={(name: string, value: any, opts?: UpdateOptions) =>
41
- setParam(name, value, opts || {})
42
- }
43
- deleteParam={(name: string, opts?: UpdateOptions) =>
44
- deleteParam(name, opts || {})
45
- }
46
- />
47
- ) : (
48
- <NodeParameter
49
- name={name}
50
- key={name}
51
- value={value}
52
- meta={metaParams?.[name]}
53
- onChange={(value: any, opts?: UpdateOptions) =>
54
- setParam(name, value, opts || {})
55
- }
56
- />
57
- ),
58
  )}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  {props.children}
60
  </LynxKiteNode>
61
  );
 
1
  import { useReactFlow } from "@xyflow/react";
2
+ import React from "react";
3
+ // @ts-ignore
4
+ import Triangle from "~icons/tabler/triangle-inverted-filled.jsx";
5
  import LynxKiteNode from "./LynxKiteNode";
6
  import NodeGroupParameter from "./NodeGroupParameter";
7
  import NodeParameter from "./NodeParameter";
 
11
  function NodeWithParams(props: any) {
12
  const reactFlow = useReactFlow();
13
  const metaParams = props.data.meta?.params;
14
+ const [collapsed, setCollapsed] = React.useState(props.collapsed);
15
 
16
  function setParam(name: string, newValue: any, opts: UpdateOptions) {
17
  reactFlow.updateNodeData(props.id, (prevData: any) => ({
 
35
 
36
  return (
37
  <LynxKiteNode {...props}>
38
+ {props.collapsed && (
39
+ <div
40
+ className="params-expander"
41
+ onClick={() => setCollapsed(!collapsed)}
42
+ >
43
+ <Triangle className={`flippy ${collapsed ? "flippy-90" : ""}`} />
44
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  )}
46
+ {!collapsed &&
47
+ params.map(([name, value]) =>
48
+ metaParams?.[name]?.type === "group" ? (
49
+ <NodeGroupParameter
50
+ key={name}
51
+ value={value}
52
+ meta={metaParams?.[name]}
53
+ setParam={(name: string, value: any, opts?: UpdateOptions) =>
54
+ setParam(name, value, opts || {})
55
+ }
56
+ deleteParam={(name: string, opts?: UpdateOptions) =>
57
+ deleteParam(name, opts || {})
58
+ }
59
+ />
60
+ ) : (
61
+ <NodeParameter
62
+ name={name}
63
+ key={name}
64
+ value={value}
65
+ meta={metaParams?.[name]}
66
+ onChange={(value: any, opts?: UpdateOptions) =>
67
+ setParam(name, value, opts || {})
68
+ }
69
+ />
70
+ ),
71
+ )}
72
  {props.children}
73
  </LynxKiteNode>
74
  );
lynxkite-app/web/src/workspace/nodes/NodeWithVisualization.tsx CHANGED
@@ -22,7 +22,7 @@ const NodeWithVisualization = (props: any) => {
22
  };
23
  }, [props.data?.display?.value]);
24
  return (
25
- <NodeWithParams {...props}>
26
  <div className="box" draggable={false} ref={chartsRef} />
27
  </NodeWithParams>
28
  );
 
22
  };
23
  }, [props.data?.display?.value]);
24
  return (
25
+ <NodeWithParams collapsed {...props}>
26
  <div className="box" draggable={false} ref={chartsRef} />
27
  </NodeWithParams>
28
  );