Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Ext.Panel в новом окне (https://javascript.ru/forum/extjs/24205-ext-panel-v-novom-okne.html)

serega063 21.12.2011 14:37

Ext.Panel в новом окне
 
Здравствуйте!
Имеется Ext.Panel на ней несколько кнопок.

Вопрос как эту панель продублировать в новом окне.

Заранее благодарен:thanks:

serega063 21.12.2011 14:40

Использую Ext3

nekto_O 21.12.2011 14:48

Создать соответствующий компонент (класс) а затем использовать его где угодно.

serega063 21.12.2011 15:03

Именно так и сделал но че то не работает
есть класс
Ext.ns('Application.Library');
Application.Library.Chart = Ext.extend(Ext.BoxComponent, {....});


На главной странице пишу
ChartMaintenanceDS = new Application.Library.Chart();
viewport = new Ext.Viewport({
  layout: 'fit',
  renderTo: Ext.getBody(),
  items: [
    {
      xtype : "panel",
      items : [ChartMaintenanceDS],
      title : "Panel"
    }
  ]
});

работает.

Теперь пытаюсь создать новую страницу и там отобразить объект ChartMaintenanceDS

вот такой код к примеру на нажатие кнопки

myWin = window.open("", "displayWindow", "width=500,height=400,menubar=1, toolbar=1, location=1, directories=1, status=1, scrollbars=1, resizable=1");


myWin.document.open();


myWin.document.write("<html>\n  <head>\n    <title>");
myWin.document.write("</title>\n  </head>\n");
myWin.document.write("\n    <script>");
myWin.document.write("Ext.onReady(function () {\n");

myWin.document.write("var viewport = new Ext.Viewport({\n");
myWin.document.write("  layout: 'fit',\n");
myWin.document.write("  renderTo: Ext.getBody(),\n");
myWin.document.write("  items: [\n");
myWin.document.write("    {\n");
myWin.document.write("      xtype : \"panel\",\n");
myWin.document.write("      items : [window.opener.ChartMaintenanceDS],\n");
myWin.document.write("      title : \"Panel\"\n");
myWin.document.write("    }\n");
myWin.document.write("  ]\n");
myWin.document.write("});\n");
myWin.document.write("});\n");
myWin.document.write("\n    </script>\n");
myWin.document.write("\n    <body></body>\n</html>");


Ваще не работает, даже ошибок не выдает

nekto_O 21.12.2011 15:10

Цитата:

Сообщение от serega063
Теперь пытаюсь создать новую страницу и там отобразить объект ChartMaintenanceDS

в этом есть необходимость? вы можете просто новое окно Ext.Window создать и туда вашу панель поместить

serega063 21.12.2011 15:13

Могу, но требуется именно новое окно

nekto_O 21.12.2011 15:18

а новое окно (страница) знает об ExtJS?

serega063 21.12.2011 16:48

Исправил, теперь знает.
Так же компонент отображается в новом окне, но исчезает в старом
Соответственно вопрос, как моно сделать дубликат объекта?

Kolyaj 21.12.2011 17:20

Очевидно, создать второй экземпляр класса Application.Library.Chart


Часовой пояс GMT +3, время: 06:19.