/** * Form submission handler for the entity selection step. * * On success will send the user to the next step of the form to select the * embed display settings. On form errors, this will rebuild the form and * display the error messages. * * @param array $form * The form array. * @param \Drupal\Core\Form\FormStateInterface $form_state * The form state. * * @return \Drupal\Core\Ajax\AjaxResponse * The ajax response. */ public function submitSelectStep(array &$form, FormStateInterface $form_state) { $response = new AjaxResponse(); // Display errors in form, if any. if ($form_state->hasAnyErrors()) { unset($form['#prefix'], $form['#suffix']); $form['status_messages'] = array('#type' => 'status_messages', '#weight' => -10); $response->addCommand(new HtmlCommand('#entity-embed-dialog-form', $form)); } else { $form_state->set('step', !empty($this->entityBrowserSettings['display_review']) ? 'review' : 'embed'); $form_state->setRebuild(TRUE); $rebuild_form = $this->formBuilder->rebuildForm('entity_embed_dialog', $form_state, $form); unset($rebuild_form['#prefix'], $rebuild_form['#suffix']); $response->addCommand(new HtmlCommand('#entity-embed-dialog-form', $rebuild_form)); } return $response; }