You are here

function varbase_media_twitter_form_entity_embed_dialog_alter in Varbase Media 8.7

Same name and namespace in other branches
  1. 8.6 modules/varbase_media_twitter/varbase_media_twitter.module \varbase_media_twitter_form_entity_embed_dialog_alter()
  2. 9.0.x modules/varbase_media_twitter/varbase_media_twitter.module \varbase_media_twitter_form_entity_embed_dialog_alter()

Implements hook_form_FORM_ID_alter().

File

modules/varbase_media_twitter/varbase_media_twitter.module, line 31
Support for tweets as media entities.

Code

function varbase_media_twitter_form_entity_embed_dialog_alter(&$form, FormStateInterface $form_state, $form_id) {

  // Only at the embed step.
  if ($form_state
    ->get('step') == 'embed') {

    // Get the entity values and attributes.
    $entity_element = [];
    $entity_element += $form_state
      ->get('entity_element');
    $form_state
      ->set('entity_element', $entity_element);
    $entity = $form_state
      ->get('entity');

    // Get the entity bundle type.
    $bundle_type = $entity
      ->bundle();
    if ($bundle_type == "tweet") {
      $builder = \Drupal::entityTypeManager()
        ->getViewBuilder($entity
        ->getEntityTypeId());

      // Render the Embed entity.
      $form['entity'] = [
        '#type' => 'item',
        '#markup' => \Drupal::service('renderer')
          ->renderRoot($builder
          ->view($entity, 's06')),
      ];
      if (isset($form['attributes']['data-align'])) {
        unset($form['attributes']['data-align']);
      }
      if (isset($form['attributes']['data-entity-embed-display-settings'])) {
        unset($form['attributes']['data-entity-embed-display-settings']);
      }
      if (isset($form['attributes']['data-caption'])) {
        unset($form['attributes']['data-caption']);
      }
      if (isset($form['attributes']['data-entity-embed-display'])) {
        $form['attributes']['data-entity-embed-display']['#access'] = FALSE;
        $form['attributes']['data-entity-embed-display']['#default_value'] = 'view_mode:media.original';
      }
    }
  }
}