コード例 #1
0
ファイル: Callback.php プロジェクト: sergiokessler/perio
 public static function _renderRequiredNote(HTML_QuickForm2_Renderer $renderer, HTML_QuickForm2 $form)
 {
     if ($renderer->hasRequired && !$form->toggleFrozen(null)) {
         if (($note = $renderer->getOption('required_note')) && !empty($note)) {
             return '<div class="alert alert-info">' . $note . '</div>';
         }
     }
 }
コード例 #2
0
ファイル: Proxy.php プロジェクト: FluentDevelopment/piwik
 public function getOption($name = null)
 {
     return $this->_renderer->getOption($name);
 }
コード例 #3
0
ファイル: Callback.php プロジェクト: grlf/eyedock
 public static function _renderGroup(HTML_QuickForm2_Renderer $renderer, HTML_QuickForm2_Container_Group $group)
 {
     $break = HTML_Common2::getOption('linebreak');
     $html[] = '<div class="row">';
     $html[] = $renderer->renderLabel($group);
     $error = $group->getError();
     if ($error) {
         $html[] = '<div class="element group error">';
         if ($renderer->getOption('group_errors')) {
             $renderer->errors[] = $error;
         } else {
             $html[] = '<span class="error">' . $error . '</span><br />';
         }
     } else {
         $html[] = '<div class="element group">';
     }
     $separator = $group->getSeparator();
     $elements = array_pop($renderer->html);
     if (!is_array($separator)) {
         $content = implode((string) $separator, $elements);
     } else {
         $content = '';
         $cSeparator = count($separator);
         for ($i = 0, $count = count($elements); $i < $count; $i++) {
             $content .= (0 == $i ? '' : $separator[($i - 1) % $cSeparator]) . $elements[$i];
         }
     }
     $html[] = $content;
     $html[] = '</div>';
     $html[] = '</div>';
     return implode($break, $html) . $break;
 }
コード例 #4
0
 /**
  * Renders the container using the given renderer
  *
  * Container will be output N + 1 times, where N are visible items and 1 is
  * the hidden prototype used by Javascript code to create new items.
  *
  * @param HTML_QuickForm2_Renderer $renderer renderer to use
  *
  * @return   HTML_QuickForm2_Renderer
  */
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     $backup = $this->backupChildAttributes(true, true);
     $hiddens = $renderer->getOption('group_hiddens');
     $jsBuilder = $renderer->getJavascriptBuilder();
     $evalBuilder = new HTML_QuickForm2_Container_Repeat_JavascriptBuilder();
     $renderer->setJavascriptBuilder($evalBuilder)->setOption('group_hiddens', false)->startContainer($this);
     // first, render a (hidden) prototype
     $this->getPrototype()->addClass('repeatItem repeatPrototype');
     $this->getPrototype()->render($renderer);
     $this->getPrototype()->removeClass('repeatPrototype');
     // restore original JS builder
     $evalBuilder->passLibraries($jsBuilder);
     $renderer->setJavascriptBuilder($jsBuilder);
     // next, render all available rows
     foreach ($this->getIndexes() as $index) {
         $this->replaceIndexTemplates($index, $backup);
         /* @var HTML_QuickForm2_Node $child */
         foreach ($this->getRecursiveIterator() as $child) {
             if (isset($this->childErrors[$hash = spl_object_hash($child)]) && isset($this->childErrors[$hash][$index])) {
                 $child->setError($this->childErrors[$hash][$index]);
             }
         }
         $this->getPrototype()->render($renderer);
     }
     $this->restoreChildAttributes($backup);
     // only add javascript if not frozen
     if (!$this->toggleFrozen()) {
         $jsBuilder->addLibrary('repeat', 'quickform-repeat.js');
         $jsBuilder->addElementJavascript($this->_generateInitScript($evalBuilder));
         $this->renderClientRules($jsBuilder);
     }
     $renderer->finishContainer($this);
     $renderer->setOption('group_hiddens', $hiddens);
     return $renderer;
 }