You are here

protected function SettingsForm::isMappableFeild in Instagram Feeds 8

Checks if media entity field can be mapped with Instagram data.

Parameters

\Drupal\Core\Field\FieldDefinitionInterface $field_definition: Media entity field definition.

Return value

bool TRUE if field can be mapped with Instagram data, FALSE otherwise.

1 call to SettingsForm::isMappableFeild()
SettingsForm::buildMappingForm in src/Form/SettingsForm.php
Form builder for mapping between media entity and Instagram post.

File

src/Form/SettingsForm.php, line 232

Class

SettingsForm
Defines an Instagram Feeds configuration form.

Namespace

Drupal\instagram_feeds\Form

Code

protected function isMappableFeild($field_definition) : bool {
  if ($field_definition
    ->isInternal() || $field_definition
    ->isReadOnly() || !$field_definition
    ->isDisplayConfigurable('view')) {
    return FALSE;
  }
  $prohibited_types = [
    'boolean',
    'changed',
    'language',
  ];
  if (in_array($field_definition
    ->getType(), $prohibited_types)) {
    return FALSE;
  }
  if ('entity_reference' == $field_definition
    ->getType() && 'taxonomy_term' != $field_definition
    ->getSetting('target_type')) {
    return FALSE;
  }
  if (in_array($field_definition
    ->getName(), [
    'name',
    'created',
  ])) {
    return FALSE;
  }
  return TRUE;
}