123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace Drupal\Core\Entity;
- use Drupal\Core\Form\FormBuilderInterface;
- use Drupal\Core\Form\FormState;
- /**
- * Builds entity forms.
- */
- class EntityFormBuilder implements EntityFormBuilderInterface {
- /**
- * The entity manager.
- *
- * @var \Drupal\Core\Entity\EntityManagerInterface
- */
- protected $entityManager;
- /**
- * The form builder.
- *
- * @var \Drupal\Core\Form\FormBuilderInterface
- */
- protected $formBuilder;
- /**
- * Constructs a new EntityFormBuilder.
- *
- * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
- * The entity manager.
- * @param \Drupal\Core\Form\FormBuilderInterface $form_builder
- * The form builder.
- */
- public function __construct(EntityManagerInterface $entity_manager, FormBuilderInterface $form_builder) {
- $this->entityManager = $entity_manager;
- $this->formBuilder = $form_builder;
- }
- /**
- * {@inheritdoc}
- */
- public function getForm(EntityInterface $entity, $operation = 'default', array $form_state_additions = []) {
- $form_object = $this->entityManager->getFormObject($entity->getEntityTypeId(), $operation);
- $form_object->setEntity($entity);
- $form_state = (new FormState())->setFormState($form_state_additions);
- return $this->formBuilder->buildForm($form_object, $form_state);
- }
- }
|