Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

yjs-widgets does not play well with Lumino widgets

Abierto
#8 5 comentarios 0 reacciones 0 asignados Ver en GitHub

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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de QuantStack/yjs-widgets

Todos los issues de QuantStack/yjs-widgets

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.