/** * @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) . ';'; }
/** * @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; }
/** * * @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()); } }