You are here

function farm_entity_views_entity_type_build in farmOS 2.x

Implements hook_entity_type_build().

File

modules/core/entity/modules/views/farm_entity_views.module, line 43
Contains farm_entity_views.module.

Code

function farm_entity_views_entity_type_build(array &$entity_types) {

  /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */

  // Set the views data handler class to FarmEntityViewsData.
  foreach ([
    'asset',
    'log',
    'plan',
    'quantity',
  ] as $entity_type) {
    if (!empty($entity_types[$entity_type])) {

      // Use the correct class for each entity type.
      // Logs and quantities provide their own that we must extend from.
      $views_data_class = FarmEntityViewsData::class;
      switch ($entity_type) {
        case 'log':
          $views_data_class = FarmLogViewsData::class;
          break;
        case 'quantity':
          $views_data_class = FarmQuantityViewsData::class;
          break;
      }
      $entity_types[$entity_type]
        ->setHandlerClass('views_data', $views_data_class);
    }
  }
}