yjs-widgets does not play well with Lumino widgets
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Inizia individuando il renderer JupyterYWidget e il percorso renderModel/createYWidget mostrato nell’issue, quindi esamina il thread dei commenti per l’API prevista. Determina come viene creato e collegato il nodo e verifica che un widget basato su Lumino possa essere costruito e collegato tramite il flusso proposto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Issue
One cannot easily create a yjs-widgets based on Lumino. Because the node element that the Renderer provides is not yet attached:
class YJupyterCADWidget implements IJupyterYWidget {
constructor(yModel: JupyterYModel, node: HTMLElement) {
this.yModel = yModel;
this.node = node;
const widget = new LuminoWidget();
// The following does not work! Because this.node is not yet attached to the DOM
Widget.attach(widget, this.node);
}
yModel: JupyterYModel;
node: HTMLElement;
}
Fix proposition
I would like to suggest modifying the JupyterYWidget to get closer to the logic we have in ipywidgets. Basically, the Widget class would be expected to have a node element that would either be a Lumino Widget:
async renderModel(mimeModel: IRenderMime.IMimeModel): Promise<void> {
const modelId = mimeModel.data[this._mimeType]!['model_id'];
this._yModel = this._modelFactory.getYModel(modelId);
if (!this._yModel) {
return;
}
const widget = this._modelFactory.createYWidget(modelId);
this.addWidget(widget.node)
}
- Lingua principale
- TypeScript
- Stelle
- 10
- Fork
- 10
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di QuantStack/yjs-widgets
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
QuantStack/yjs-widgets#31 ·
Tutte le issue di QuantStack/yjs-widgets
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
mksglu/context-mode#1200 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
anthropics/claude-code#96687 ·
-
good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
AOSSIE-Org/DebateAI#582 · 2 commenti ·