Example #1
0
 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);
 }
Example #3
0
 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;
 }
Example #5
0
 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);
 }
Example #6
0
 public function testGetCommandList()
 {
     $type = '\\Nethgui\\View\\ViewCommandInterface';
     $o = $this->object->getCommandList();
     $this->assertInstanceOf($type, $o);
 }
Example #7
0
 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);
 }
Example #8
0
 public function renderDocument(\Nethgui\Renderer\Xhtml $renderer)
 {
     $renderer->rejectFlag($renderer::INSET_FORM);
     return $renderer->panel()->setAttribute('class', 'HelpDocument')->insert($renderer->literal($this->helpContent));
 }
Example #9
0
 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;
 }