Вы можете создать всплывающее окно или диалог. Диалог основан на реализации диалогового окна jQuery UI. Всплывающие окна, скорее всего, будут заблокированы и их будет сложнее контролировать.
На самом деле это работает для любого объекта (вы можете применить к виду, кнопке, изображению, значку и т. Д.), Но я буду использовать кнопку).
$b=$g->addButton('Add New Client')->setIcon('Plus');
$b->js('click')->univ()->frameURL($title,$url);
// OR
$b->js('click')->univ()->dialogURL($title,$url);
$ url, скорее всего, будет возвращено api-> getDestinationURL (). Другая страница будет загружена, и сценарии на этой странице будут оценены. Допустим, вы находитесь на другой странице и теперь должны закрыть окно.
$result = $this->addButton('Close')->js('click')->univ()->closeDialog();
closeDialog () возвращает объект цепочки jQuery, указывающий на представление, которое первоначально открыло фрейм. В результате, если вы выполните $ result-> hide (); затем после закрытия диалогового окна оригинальная кнопка («добавить нового клиента») также будет скрыта.
Вот пример, показывающий некоторые дополнительные вещи, которые вы можете делать с фреймами, перезагрузкой и пользовательскими обработчиками событий:
http://agiletoolkit.org/example/refresh1