public function renderIndex(\Nethgui\Renderer\Xhtml $view) { $view->includeFile('Nethgui/Js/jquery.nethgui.tabs.js'); $view->includeFile('Nethgui/Js/jquery.nethgui.controller.js'); $panel = $view->panel()->setAttribute('class', 'ModulesWrapped')->setAttribute('id', 'PackageManager'); $header = $view->header()->setAttribute('template', $view->translate('Modules_header')); $tabs = $view->tabs()->setAttribute('receiver', ''); foreach ($this->getChildren() as $module) { $moduleIdentifier = $module->getIdentifier(); if ($moduleIdentifier === 'AdminTodo') { continue; } $flags = \Nethgui\Renderer\WidgetFactoryInterface::INSET_WRAP; if ($this->needsAutoFormWrap($module)) { $flags |= \Nethgui\Renderer\WidgetFactoryInterface::INSET_FORM; } $action = $view->inset($moduleIdentifier, $flags)->setAttribute('class', 'Action')->setAttribute('title', $view->getTranslator()->translate($module, $moduleIdentifier . '_Title')); $tabs->insert($action); } $element = json_encode($view->getUniqueId()); $url = json_encode($view->getModuleUrl()); $view->includeJavascript(sprintf('(function($){$(function(){$.Nethgui.Server.ajaxMessage({url:%s, freezeElement:$("#" + %s)})})})(jQuery);', $url, $element)); return $panel->insert($header)->insert($tabs); }