Example #1
0
 /**
  * 
  * @param array $element
  */
 private function renderAsHtml(&$element)
 {
     switch ($element['type']) {
         default:
             $element['input'] = $this->renderHtmlTextarea($element);
             $element['label'] = $this->renderHtmlLabel($element);
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'button':
         case 'submit':
         case 'reset':
             $element['input'] = $this->renderHtmlButton($element);
             $element['label'] = "";
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'radio':
             $element['input'] = $this->renderHtmlRadio($element);
             $element['label'] = "";
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'checkbox':
             $element['input'] = $this->renderHtmlCheckbox($element);
             $element['label'] = "";
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'static':
             $className = Component::parseComponentName($element['label_type']);
             if (class_exists($className) && method_exists($className, 'renderHtmlInput')) {
                 $element['label'] = $element['label_label'];
                 $in = $className::renderHtmlInput($element);
                 $inVal = $className::addValidation($element);
                 if (isset($in['html'])) {
                     $element['input'] = $in['html'];
                 }
                 if (isset($in['css'])) {
                     $element['css'] = $in['css'];
                 }
                 if (isset($in['extrahtml'])) {
                     $element['extrahtml'] = $in['extrahtml'];
                 }
                 $element['label'] = $this->renderHtmlLabel($element);
                 $element['html'] = $this->renderFinalHtml($element);
                 if (isset($in['js'])) {
                     $this->tpl->addCustomJs($in['js']);
                 }
                 if (isset($inVal['eventValidation'])) {
                     if (isset($inVal['eventValidation']['extraJs'])) {
                         $this->eventValidation['extraJs'] .= $inVal['eventValidation']['extraJs'];
                         unset($inVal['eventValidation']['extraJs']);
                     }
                     $this->eventValidation['validators'] = array_merge($this->eventValidation['validators'], $inVal['eventValidation']);
                 }
                 if (isset($inVal['submitValidation'])) {
                     $this->submitValidation .= $inVal['submitValidation'];
                 }
             }
             break;
     }
 }