protected function QuickEditFieldForm::init in Drupal 9
Same name and namespace in other branches
- 8 core/modules/quickedit/src/Form/QuickEditFieldForm.php \Drupal\quickedit\Form\QuickEditFieldForm::init()
- 10 core/modules/quickedit/src/Form/QuickEditFieldForm.php \Drupal\quickedit\Form\QuickEditFieldForm::init()
Initialize the form state and the entity before the first form build.
1 call to QuickEditFieldForm::init()
- QuickEditFieldForm::buildForm in core/
modules/ quickedit/ src/ Form/ QuickEditFieldForm.php - Builds a form for a single entity field.
File
- core/
modules/ quickedit/ src/ Form/ QuickEditFieldForm.php, line 120
Class
- QuickEditFieldForm
- Builds and process a form for editing a single entity field.
Namespace
Drupal\quickedit\FormCode
protected function init(FormStateInterface $form_state, EntityInterface $entity, $field_name) {
// @todo Rather than special-casing $node->revision, invoke prepareEdit()
// once https://www.drupal.org/node/1863258 lands.
if ($entity
->getEntityTypeId() == 'node') {
$node_type = $this->nodeTypeStorage
->load($entity
->bundle());
$entity
->setNewRevision($node_type
->shouldCreateNewRevision());
$entity->revision_log = NULL;
}
$form_state
->set('entity', $entity);
$form_state
->set('field_name', $field_name);
// Fetch the display used by the form. It is the display for the 'default'
// form mode, with only the current field visible.
$display = EntityFormDisplay::collectRenderDisplay($entity, 'default');
foreach ($display
->getComponents() as $name => $options) {
if ($name != $field_name) {
$display
->removeComponent($name);
}
}
$form_state
->set('form_display', $display);
}