MetaCell / MetaCell/geppetto-meta

Extend jupyter-geppetto to support Redux and functional components

Open
#30 0 comments 0 reactions 0 assignees View on GitHub
enhancement jupyterGeppetto
Dominant language
JavaScript
Stars
6
Forks
4
PR merge metrics
No merged PRs in 30d

Description

In the frontend, developers can utilize jupyter-geppetto to enable bidirectional websocket communication to synchronize models.

The ComponentSync Jupyter widget in `jupyter_geppetto.js` updates the state of an associated component by calling the `setState` function. That only works for Class components though.

**Functional Components**
Since React encourages to use functional components and since this is already widely practiced, we should support this as well.

**Redux**
If the application uses redux, developers might want to store the data in the redux store instead of a component.

**Generic**
Instead of implementing different integrations in the ComponentSync widget, we could also provide a callback that the developer implements, the developer should be able to choose where and how the value updates of a model should be stored.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in jupyter_geppetto.js at the ComponentSync widget and its setState call. Read how model updates currently reach class components, then clarify whether functional components, Redux, or a generic callback is the intended integration. Done should be defined by an agreed approach that lets developers choose where synchronized model values are stored.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react, redux
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.