/**
  * @param InputElement $element
  * @return string
  */
 protected function generateFormBuilderChain(InputElement $element)
 {
     $parts = array();
     $data = $element->toArray();
     $parts[] = sprintf('%s(\'%s\')', $element->getType(), $element->getName());
     unset($data['type']);
     unset($data['name']);
     foreach ($data as $name => $value) {
         if (!$value) {
             continue;
         }
         if (is_numeric($value)) {
             $part = sprintf('%s(%s)', $name, $value);
         } else {
             $part = sprintf('%s(\'%s\')', $name, $value);
         }
         $parts[] = $part;
     }
     return implode('->', $parts) . ';';
 }
Beispiel #2
0
 /**
  * @param       $element
  * @return InputElement
  */
 protected function addElement(InputElement $element)
 {
     $reference = $this;
     $name = $element->getName();
     Event::fire('formBuilder.addElement.pre', compact('name', 'element', 'reference'));
     $this->elements[$name] = $element;
     Event::fire('formBuilder.addElement.post', compact('name', 'element', 'reference'));
     return $element;
 }
Beispiel #3
0
 /**
  * 
  * @param type $name
  * @param \Boyhagemann\Form\Element\InputElement $element
  */
 public function postBuildElement($name, $element)
 {
     if ($element instanceof ModelElement && $element->getModel()) {
         if ($element->getOption('multiple')) {
             $this->createRelation($name, 'belongsToMany', $element->getModel(), $element->getAlias());
         } else {
             $this->createRelation($name, 'belongsTo', $element->getModel(), $element->getAlias());
         }
     }
     if ($element->getRules()) {
         $this->validate($name, $element->getRules());
     }
 }