You are here

function farm_log_quantity_entity_base_field_info in farmOS 2.x

Implements hook_entity_base_field_info().

File

modules/core/log/modules/quantity/farm_log_quantity.module, line 14
Contains farm_log_quantity.module.

Code

function farm_log_quantity_entity_base_field_info(EntityTypeInterface $entity_type) {

  // We only care about log entities.
  if ($entity_type
    ->id() != 'log') {
    return [];
  }

  // Add a quantity reference field to logs.
  $field_info = [
    'quantity' => [
      'type' => 'entity_reference_revisions',
      'label' => t('Quantity'),
      'description' => t('Add quantity measurements to this log.'),
      'target_type' => 'quantity',
      'multiple' => TRUE,
      'weight' => [
        'form' => 0,
        'view' => 0,
      ],
    ],
  ];
  $fields = [];
  foreach ($field_info as $name => $info) {
    $fields[$name] = \Drupal::service('farm_field.factory')
      ->baseFieldDefinition($info);
  }
  return $fields;
}