public function render() { $fields = array(); $content = parent::render(); foreach ($this->describeWidgets as $widget) { if (!$widget->hasAttribute('do')) { continue; } $name = $widget->getAttribute('name'); $value = $widget->getAttribute('value'); $whatToDo = $widget->getAttribute('do'); if (in_array($whatToDo, array('textInput', 'button'))) { $label = $widget->getAttribute('label', $this->translate($name . '_label')); } elseif (in_array($whatToDo, array('checkBox', 'radioButton', 'fieldsetSwitch'))) { $label = $widget->getAttribute('label', $this->translate($name . '_' . $value . '_label')); } $id = $this->view->getUniqueId($name); $fields[] = array('name' => $name, 'id' => $id, 'helpId' => $widget->getAttribute('helpId', $name), 'label' => $label); } $view = $this->view->spawnView($this->view->getModule()); $view->setTemplate('Nethgui\\Template\\Help\\Section'); $view['title'] = $this->getTitle(); $view['description'] = $this->getDescription(); $view['fields'] = $fields; $view['titleLevel'] = $this->nestingLevel; $headingRenderer = parent::spawnRenderer($view)->render(); return (string) $headingRenderer . $content; }
public function __construct(\Nethgui\Renderer\Xhtml $renderer, $name, $key, $template) { parent::__construct($renderer->view, $renderer->getTemplateResolver(), $renderer->getDefaultFlags()); // Replace the inner view with a new instance: $module = $this->createModule($name, $key, $renderer->getModule()->getAttributesProvider()); $this->httpResponse = $renderer->httpResponse; $this->staticFiles = $renderer->staticFiles; $this->view = $renderer->view->spawnView($module)->setTemplate($template); }
private function wrapContent($content, \Nethgui\Renderer\Xhtml $insetRenderer) { $panel = $this->getRenderer()->panel()->setAttribute('tag', FALSE)->setAttribute('receiver', $this->getAttribute('receiver')); $flags = $this->getAttribute('flags'); $wrapFlags = $insetRenderer->calculateIncludeFlags($flags); $contentWidget = $this->getRenderer()->literal($content, $flags); if ($wrapFlags & \Nethgui\Renderer\WidgetFactoryInterface::INSET_FORM) { $contentWidget = $insetRenderer->form($flags)->setAttribute('tag', FALSE)->insert($contentWidget); } $panel->insert($contentWidget); if ($wrapFlags & \Nethgui\Renderer\WidgetFactoryInterface::INSET_WRAP) { $panel->setAttribute('tag', 'div'); $cssClass = $this->getAttribute('class', 'Inset'); if ($wrapFlags & \Nethgui\Renderer\WidgetFactoryInterface::INSET_DIALOG) { $cssClass .= ' Dialog'; } $panel->setAttribute('class', $cssClass); } return $panel; }
public function renderIndex(\Nethgui\Renderer\Xhtml $view) { $view->includeFile('Nethgui/Js/jquery.nethgui.tabs.js'); $view->includeFile('Nethgui/Js/jquery.nethgui.controller.js'); $tabs = $view->tabs()->setAttribute('receiver', ''); foreach ($this->getChildren() as $module) { $moduleIdentifier = $module->getIdentifier(); $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); } return $tabs; }
protected function renderMenuItem(\Nethgui\Renderer\Xhtml $view, $item) { $placeholders = array('%HREF' => htmlspecialchars($item['href']), '%CONTENT' => htmlspecialchars($item['title']), '%TITLE' => htmlspecialchars($item['description'])); if ($item['identifier'] === $this->currentItem) { $tpl = '<a href="%HREF" title="%TITLE" class="currentMenuItem">%CONTENT</a>'; } else { $tpl = '<a href="%HREF" title="%TITLE">%CONTENT</a>'; } return $view->literal(strtr($tpl, $placeholders))->setAttribute('hsc', FALSE); }
public function testGetCommandList() { $type = '\\Nethgui\\View\\ViewCommandInterface'; $o = $this->object->getCommandList(); $this->assertInstanceOf($type, $o); }
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); }
public function renderDocument(\Nethgui\Renderer\Xhtml $renderer) { $renderer->rejectFlag($renderer::INSET_FORM); return $renderer->panel()->setAttribute('class', 'HelpDocument')->insert($renderer->literal($this->helpContent)); }
public function renderColumnActions(\Nethgui\Renderer\Xhtml $view) { $buttonList = $view->buttonList(\Nethgui\Renderer\WidgetFactoryInterface::BUTTONSET)->setAttribute('maxElements', 1); foreach ($view as $actionId => $actionInfo) { $button = $view->button($actionId, \Nethgui\Renderer\WidgetFactoryInterface::BUTTON_LINK)->setAttribute('value', $actionInfo[1]); $buttonList->insert($button); } return $buttonList; }
public function renderIndex(\Nethgui\Renderer\Xhtml $renderer) { $renderer->includeFile('Nethgui/Js/jquery.nethgui.controller.js'); $container = $renderer->panel()->setAttribute('class', 'Controller'); foreach ($this->getChildren() as $index => $module) { $identifier = $module->getIdentifier(); $flags = $renderer::INSET_WRAP; if ($index > 0) { $flags |= $renderer::STATE_UNOBTRUSIVE; } if ($this->needsAutoFormWrap($module)) { $flags |= $renderer::INSET_FORM; } $container->insert($renderer->inset($identifier, $flags)->setAttribute('class', 'Action')); } return $container; }