yjs-widgets does not play well with Lumino widgets
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Empieza localizando el renderer de JupyterYWidget y la ruta renderModel/createYWidget mostrada en el issue; después, revisa el hilo de comentarios para conocer la API prevista. Determina cómo se crea y se adjunta el nodo, y verifica que se pueda construir y adjuntar un widget basado en Lumino mediante el flujo propuesto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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)
}
- Lenguaje dominante
- TypeScript
- Estrellas
- 10
- Forks
- 10
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QuantStack/yjs-widgets
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
QuantStack/yjs-widgets#31 ·
Todos los issues de QuantStack/yjs-widgets
Issues similares
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Mend: dependency security vulnerability untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100