You are here

public static function MailchimpCampaignForm::entityTypeCallback in Mailchimp 8

Same name and namespace in other branches
  1. 2.x modules/mailchimp_campaign/src/Form/MailchimpCampaignForm.php \Drupal\mailchimp_campaign\Form\MailchimpCampaignForm::entityTypeCallback()

Ajax callback to render content with a template is selected.

Parameters

array $form: Form API array structure.

\Drupal\Core\Form\FormStateInterface $form_state: Form state information.

Return value

\Drupal\Core\Ajax\AjaxResponse Ajax response with the rendered content element.

File

modules/mailchimp_campaign/src/Form/MailchimpCampaignForm.php, line 482

Class

MailchimpCampaignForm
Form controller for the MailchimpCampaign entity edit form.

Namespace

Drupal\mailchimp_campaign\Form

Code

public static function entityTypeCallback(array $form, FormStateInterface $form_state) {
  $response = new AjaxResponse();
  $triggering_element = $form_state
    ->getTriggeringElement();
  $content_wrapper = $triggering_element['#parents'][1];
  $entity_import_wrapper = $triggering_element['#ajax']['wrapper'];
  $html = '<div id="' . $entity_import_wrapper . '" class="content-entity-lookup-wrapper">';
  $html .= \Drupal::service('renderer')
    ->render($form['content'][$content_wrapper]['entity_import']['entity_id']);
  $html .= \Drupal::service('renderer')
    ->render($form['content'][$content_wrapper]['entity_import']['entity_view_mode']);
  $html .= '</div>';
  $response
    ->addCommand(new ReplaceCommand('#' . $entity_import_wrapper, $html));
  return $response;
}