darabos commited on
Commit
00663e3
·
1 Parent(s): 94d9c60

Do not re-run on tables opening/closing, address review.

Browse files
examples/Model definition CHANGED
@@ -389,10 +389,6 @@
389
  }
390
  }
391
  },
392
- "position": {
393
- "x": 667.0,
394
- "y": 432.0
395
- },
396
  "type": "basic"
397
  },
398
  "params": {
@@ -439,10 +435,6 @@
439
  }
440
  }
441
  },
442
- "position": {
443
- "x": 675.0,
444
- "y": 499.0
445
- },
446
  "type": "basic"
447
  },
448
  "params": {
@@ -496,10 +488,6 @@
496
  }
497
  }
498
  },
499
- "position": {
500
- "x": 1061.0,
501
- "y": 239.0
502
- },
503
  "type": "basic"
504
  },
505
  "params": {
@@ -554,10 +542,6 @@
554
  }
555
  },
556
  "params": {},
557
- "position": {
558
- "x": 1077.0,
559
- "y": 334.0
560
- },
561
  "type": "basic"
562
  },
563
  "params": {},
@@ -601,10 +585,14 @@
601
  }
602
  }
603
  },
604
- "params": {},
605
- "position": {
606
- "x": 544.0,
607
- "y": 306.0
 
 
 
 
608
  },
609
  "type": "basic"
610
  },
 
389
  }
390
  }
391
  },
 
 
 
 
392
  "type": "basic"
393
  },
394
  "params": {
 
435
  }
436
  }
437
  },
 
 
 
 
438
  "type": "basic"
439
  },
440
  "params": {
 
488
  }
489
  }
490
  },
 
 
 
 
491
  "type": "basic"
492
  },
493
  "params": {
 
542
  }
543
  },
544
  "params": {},
 
 
 
 
545
  "type": "basic"
546
  },
547
  "params": {},
 
585
  }
586
  }
587
  },
588
+ "params": {
589
+ "name": {
590
+ "default": null,
591
+ "name": "name",
592
+ "type": {
593
+ "type": "None"
594
+ }
595
+ }
596
  },
597
  "type": "basic"
598
  },
examples/Model use CHANGED
The diff for this file is too large to render. See raw diff
 
lynxkite-app/src/lynxkite_app/crdt.py CHANGED
@@ -91,6 +91,9 @@ def clean_input(ws_pyd):
91
  node.data.input_metadata = None
92
  node.data.error = None
93
  node.data.status = workspace.NodeStatus.done
 
 
 
94
  node.position.x = 0
95
  node.position.y = 0
96
  if node.model_extra:
 
91
  node.data.input_metadata = None
92
  node.data.error = None
93
  node.data.status = workspace.NodeStatus.done
94
+ for p in list(node.data.params):
95
+ if p.startswith("_"):
96
+ del node.data.params[p]
97
  node.position.x = 0
98
  node.position.y = 0
99
  if node.model_extra:
lynxkite-app/web/src/workspace/nodes/NodeWithTableView.tsx CHANGED
@@ -15,11 +15,11 @@ function toMD(v: any): string {
15
  return JSON.stringify(v);
16
  }
17
 
 
 
18
  export default function NodeWithTableView(props: any) {
19
  const reactFlow = useReactFlow();
20
- const [open, setOpen] = useState(
21
- props.data?.params?.tables_open ?? ({} as { [name: string]: boolean }),
22
- );
23
  const display = props.data.display?.value;
24
  const single = display?.dataframes && Object.keys(display?.dataframes).length === 1;
25
  const dfs = Object.entries(display?.dataframes || {});
@@ -31,8 +31,11 @@ export default function NodeWithTableView(props: any) {
31
  }));
32
  }
33
  function toggleTable(name: string) {
34
- setOpen((prevOpen) => ({ ...prevOpen, [name]: !prevOpen[name] }));
35
- setParam("tables_open", { ...open, [name]: !open[name] });
 
 
 
36
  }
37
  return (
38
  <LynxKiteNode {...props}>
 
15
  return JSON.stringify(v);
16
  }
17
 
18
+ type OpenState = { [name: string]: boolean };
19
+
20
  export default function NodeWithTableView(props: any) {
21
  const reactFlow = useReactFlow();
22
+ const [open, setOpen] = useState((props.data?.params?._tables_open ?? {}) as OpenState);
 
 
23
  const display = props.data.display?.value;
24
  const single = display?.dataframes && Object.keys(display?.dataframes).length === 1;
25
  const dfs = Object.entries(display?.dataframes || {});
 
31
  }));
32
  }
33
  function toggleTable(name: string) {
34
+ setOpen((prevOpen: OpenState) => {
35
+ const newOpen = { ...prevOpen, [name]: !prevOpen[name] };
36
+ setParam("_tables_open", newOpen);
37
+ return newOpen;
38
+ });
39
  }
40
  return (
41
  <LynxKiteNode {...props}>
lynxkite-graph-analytics/src/lynxkite_graph_analytics/lynxkite_ops.py CHANGED
@@ -291,7 +291,8 @@ def visualize_graph(
291
 
292
 
293
  @op("View tables", view="table_view")
294
- def view_tables(bundle: core.Bundle, *, tables_open: str = "", limit: int = 100):
 
295
  return bundle.to_dict(limit=limit)
296
 
297
 
 
291
 
292
 
293
  @op("View tables", view="table_view")
294
+ def view_tables(bundle: core.Bundle, *, _tables_open: str = "", limit: int = 100):
295
+ _tables_open = _tables_open # The frontend uses this parameter to track which tables are open.
296
  return bundle.to_dict(limit=limit)
297
 
298