You are here

public static function VideoPlayerListFormatter::isApplicable in Video 8.2

Same name and namespace in other branches
  1. 8 src/Plugin/Field/FieldFormatter/VideoPlayerListFormatter.php \Drupal\video\Plugin\Field\FieldFormatter\VideoPlayerListFormatter::isApplicable()

Returns if the formatter can be used for the provided field.

Parameters

\Drupal\Core\Field\FieldDefinitionInterface $field_definition: The field definition that should be checked.

Return value

bool TRUE if the formatter can be used, FALSE otherwise.

Overrides VideoPlayerFormatter::isApplicable

File

src/Plugin/Field/FieldFormatter/VideoPlayerListFormatter.php, line 58

Class

VideoPlayerListFormatter
Plugin implementation of the 'video_player_list' formatter.

Namespace

Drupal\video\Plugin\Field\FieldFormatter

Code

public static function isApplicable(FieldDefinitionInterface $field_definition) {
  if (empty($field_definition
    ->getTargetBundle()) && $field_definition
    ->isList()) {
    return TRUE;
  }
  else {
    $form_mode = 'default';
    $entity_form_display = \Drupal::entityTypeManager()
      ->getStorage('entity_form_display')
      ->load($field_definition
      ->getTargetEntityTypeId() . '.' . $field_definition
      ->getTargetBundle() . '.' . $form_mode);
    if (!$entity_form_display) {
      $entity_form_display = \Drupal::entityTypeManager()
        ->getStorage('entity_form_display')
        ->create([
        'targetEntityType' => $field_definition
          ->getTargetEntityTypeId(),
        'bundle' => $field_definition
          ->getTargetBundle(),
        'mode' => $form_mode,
        'status' => TRUE,
      ]);
    }
    $widget = $entity_form_display
      ->getRenderer($field_definition
      ->getName());
    if ($widget) {
      $widget_id = $widget
        ->getBaseId();
      if ($field_definition
        ->isList() && $widget_id == 'video_upload') {
        return TRUE;
      }
    }
  }
  return FALSE;
}