/** * Gets the name for form view. * * @param Field $field The field object * @param boolean $fst This flag is used to find out which field was * called first. * * @return string */ public function getName(Field $field, $fst = true) { $parent = $field->getParent(); if (null !== $parent && '' !== $parent->getName(false)) { return $parent->getName(false) . '[' . $field->getInternalName() . ']'; } if ($fst && $field->hasOption('prototype')) { return $field->getInternalName() . '[]'; } return $field->getInternalName(); }
/** * Makes this field to a multiple. * * @param Field $field The field object * * @return Field */ public function multiple(Field $proto) { $resizer = new MultipleResizeListener(); $name = $proto->getInternalName(); $disp = new EventDispatcher(); $field = new Field($name, $disp, $proto->getExtensions()); $field->setOption('prototype', $proto); $disp->addListener(Events::BIND, [$resizer, 'bind']); $disp->addListener(Events::FILL, [$resizer, 'fill']); return $field; }
/** * Adds a child field. * * @param Field $field The field obejct */ public function addChild(Field $child) { $this->children[$child->getInternalName()] = $child; }