コード例 #1
0
ファイル: FormContainer.php プロジェクト: utrenkner/YAWIK
 /**
  * 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;
 }
コード例 #2
0
ファイル: Job.php プロジェクト: utrenkner/YAWIK
    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);
    }
コード例 #3
0
 /**
  * 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;
 }
コード例 #4
0
 public function testRenderPrePost()
 {
     $renderer = new PhpRenderer();
     $this->assertSame($this->target->renderPost($renderer), '');
     $this->assertSame($this->target->renderPre($renderer), '');
 }