/** * Renders the forms of a container. * * @param Container $container * @param string $layout * @param array $parameter * @return string */ public function render(Container $container, $layout = Form::LAYOUT_HORIZONTAL, $parameter = array()) { $content = ''; $content .= $container->renderPre($this->getView()); if ($container instanceof ViewPartialProviderInterface) { return $this->getView()->partial($container->getViewPartial(), array('element' => $container)); } foreach ($container as $element) { $parameterPartial = $parameter; if ($element instanceof ExplicitParameterProviderInterface) { $parameterPartial = array_merge($element->getParams(), $parameterPartial); } if ($element instanceof ViewPartialProviderInterface) { $parameterPartial = array_merge(array('element' => $element, 'layout' => $layout), $parameterPartial); $content .= $this->getView()->partial($element->getViewPartial(), $parameterPartial); } elseif ($element instanceof ViewHelperProviderInterface) { $helper = $element->getViewHelper(); if (is_string($helper)) { $helper = $this->getView()->plugin($helper); } $content .= $helper($element); } elseif ($element instanceof SummaryForm) { $content .= $this->getView()->summaryForm($element); } elseif ($element instanceof Container) { $content .= $this->render($element, $layout, $parameter); } else { $content .= $this->getView()->form($element, $layout, $parameter); } } $content .= $container->renderPost($this->getView()); return $content; }
public function renderPost(Renderer $renderer) { $coreformsjs = $renderer->basepath('/Core/js/core.forms.js'); $javaScript = <<<JS \$(document).ready(function() { console.log('attached yk.forms.done to ', \$('form')); \$('form').on('yk.forms.done', function(event, data) { //if (typeof data != 'undefined' && typeof data['data'] != 'undefined') {} if (typeof data != 'undefined' && typeof data['data'] != 'undefined') { if (typeof data['data']['jobvalid'] != 'undefined' && data['data']['jobvalid'] === true) { \$('#job_incomplete').hide(); \$('#finalize_jobentry').show(); } else { \$('#job_incomplete').show(); \$('#finalize_jobentry').hide(); } } \$('#job_errormessages').empty(); if (typeof data['data']['errorMessage'] != 'undefined') { \$('#job_errormessages').append(data['data']['errorMessage']); } console.debug('job-form-inline', event, data); }); }); JS; $renderer->headScript()->appendScript($javaScript); return parent::renderPost($renderer); }
/** * Renders the forms of a container. * * @param Container $container * @param string $layout * @param array $parameter * @return string */ public function render(Container $container, $layout = Form::LAYOUT_HORIZONTAL, $parameter = array()) { $content = ''; $content .= $container->renderPre($this->getView()); if ($container instanceof ViewPartialProviderInterface) { return $this->getView()->partial($container->getViewPartial(), array('element' => $container)); } foreach ($container as $element) { $content .= $this->renderElement($element, $layout, $parameter); } $content .= $container->renderPost($this->getView()); return $content; }
public function testRenderPrePost() { $renderer = new PhpRenderer(); $this->assertSame($this->target->renderPost($renderer), ''); $this->assertSame($this->target->renderPre($renderer), ''); }