DepCalcExcludeLingotekContentMetadataSubscriber.php in Lingotek Translation 3.6.x
File
src/EventSubscriber/DepCalcExcludeLingotekContentMetadataSubscriber.php
View source
<?php
namespace Drupal\lingotek\EventSubscriber;
use Drupal\Core\Field\FieldItemListInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Drupal\depcalc\Event\FilterDependencyCalculationFieldsEvent;
class DepCalcExcludeLingotekContentMetadataSubscriber implements EventSubscriberInterface {
public static function getSubscribedEvents() {
$events['depcalc_filter_fields'][] = [
'onFilterFields',
1002,
];
return $events;
}
public function onFilterFields(FilterDependencyCalculationFieldsEvent $event) {
$fields = array_filter($event
->getFields(), function ($field) {
return $this
->includeField($field);
}, ARRAY_FILTER_USE_BOTH);
$event
->setFields(...$fields);
}
protected function includeField(FieldItemListInterface $field) {
$definition = $field
->getFieldDefinition();
if ($definition
->getType() === 'entity_reference' && $field
->getSetting('target_type') === 'lingotek_content_metadata') {
return FALSE;
}
return TRUE;
}
}