Ext.js 4.x可停靠窗口作为选项卡

时间:2012-03-22 21:31:03

标签: extjs extjs4

有没有人看到过extjs的实现或插件,您可以使用浏览器“拉出”或“停靠”选项卡/窗口?它甚至可能吗?

搜索没有透露太多,但我确实遇到了旧版本的建议解决方案: http://www.sencha.com/forum/showthread.php?16842-Dockable-floatable-panels-in-ExtJS

@DmitryB

澄清一下,如果我在同一个窗口中有多个标签,那么在chrome中: Before detaching tab

我“拖动”其中一个标签,它弹出一个新窗口:

after detaching tab

我想你可以通过将标签面板的内容移动到一个窗口但不确定如何去做它来实现这一点。

1 个答案:

答案 0 :(得分:1)

简而言之:

- Make the tabs draggable, watch for the drag event and mark the 
  tab-strip as your "safe" zone
- When a tab is dragged and then "dropped" (as in, the drag event ends) you do a check:
    > Is the tab within the safe area? 
        No: Create a new Ext.Window at the x/y of the mouse, copy the components/HTML
            out of the original panel and insert them into the new window. Destroy the
            original panel.
        Yes: Do nothing.

不幸的是,我仍然厌倦了在ExtJS3中学习D& D,因此我无法提供有关ExtJS 4的这个和真实代码的任何帮助,但这个概念对我来说似乎相对简单。我会说你可能想要尽力让它变得不那么华丽 - 除非你真的需要,我不会担心在你拖动标签时显示面板的内容 - 更不用说显示面板本身。只需将标签元素拖到屏幕上并在安全区域外释放时进行复制。