yjs-widgets does not play well with Lumino widgets
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- frontend
调研方向
首先定位 JupyterYWidget 渲染器以及 issue 中展示的 renderModel/createYWidget 路径,然后查看评论线程以了解预期的 API。确定节点是如何创建和附加的,并验证基于 Lumino 的 widget 是否可以通过提议的流程构造并附加。
由索引模型根据 Issue 内容生成。
描述
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)
}
- 主要语言
- TypeScript
- 星标
- 10
- 派生
- 10
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
QuantStack/yjs-widgets 的其他 Issue
-
难度 5/5 一周以上 新手友好度 35/100
QuantStack/yjs-widgets#31 ·
查看 QuantStack/yjs-widgets 的全部 Issue
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 72/100
yjh051108/dsh-routing-suite#216 ·
-
kind/bug priority/needs-triage
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
Dependencies view: `getParent` loops forever on untitled documents, extension host runs out of memory可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭bug
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
enhancement good first issue
难度 2/5 半天 新手友好度 66/100
apache/fineract-consumer-facing#175 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1 小时以内 新手友好度 82/100
awslabs/visual-asset-management-system#413 ·
维护者通常 1 天内回复