首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JupyterLab中监听SplitPanel的大小调整?

如何在JupyterLab中监听SplitPanel的大小调整?
EN

Stack Overflow用户
提问于 2020-10-31 17:57:30
回答 1查看 54关注 0票数 0

我目前正在尝试为JupyterLab改编一些JupyterNotebook扩展(https://github.com/stefaneidelloth/treezjs)。

如果垂直SplitPanel被移动,我想更新我的TreeView的大小。

不幸的是,以下代码不起作用。所有事件都不会记录垂直拆分器的移动:

代码语言:javascript
复制
app.shell.add(treezPlugin, 'left', { rank: 200 });

app.shell.layoutModified.connect(()=>{
    updateGoldenLayout(layout, layoutContainer);
}); 

app.shell.onResize(()=>{
    updateGoldenLayout(layout, layoutContainer);
}); 
        
window.onresize = ()=>{
    updateGoldenLayout(layout, layoutContainer);
};  

function updateGoldenLayout(layout, layoutContainer){
    var rect = layoutContainer.getBoundingClientRect();
    layout.updateSize(rect.width, rect.height);
}

红色区域显示水平大小不匹配:

=>怎样才能正确地监听水平SplitPanel的变化?

我试着访问SplitPanel,但还不知道怎么做。

相关信息:

https://github.com/golden-layout/golden-layout/issues/456

https://discourse.jupyter.org/t/seeking-suggestions-for-the-best-way-to-implement-a-split-view-jupyterlab-notebook-extension/2740

https://github.com/jupyterlab/jupyterlab/issues/9269

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-31 18:17:07

红色的div是我的"layoutContainer“。ResizeObserver做到了这一点:

代码语言:javascript
复制
let resizeObserver = new ResizeObserver( () => {
   updateGoldenLayout(layout, layoutContainer);
});
resizeObserver.observe(layoutContainer);

现在我可以对我的JupyterLab扩展使用GoldenLayout了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64620481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档