Ejemplo n.º 1
0
 /**
  * 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;
 }