farm-2.x-dev/modules/log/lab_test/farm_lab_test.module
modules/log/lab_test/farm_lab_test.module
<?php
/**
* @file
* The farmOS lab test log module.
*/
use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
/**
* Lab test type options helper.
*
* @return array
* Returns an array of lab test types for use in form select options.
*/
function farm_lab_test_type_options() {
/** @var \Drupal\farm_lab_test\Entity\FarmLabTestTypeInterface[] $lab_test_types */
$lab_test_types = \Drupal::entityTypeManager()->getStorage('lab_test_type')->loadMultiple();
$options = [];
foreach ($lab_test_types as $id => $lab_test_type) {
$options[$id] = $lab_test_type->getLabel();
}
return $options;
}
/**
* Allowed values callback function for the lab test type field.
*
* @param \Drupal\Core\Field\FieldStorageDefinitionInterface $definition
* The field definition.
* @param \Drupal\Core\Entity\ContentEntityInterface|null $entity
* The entity being created if applicable.
* @param bool $cacheable
* Boolean indicating if the allowed values can be cached. Defaults to TRUE.
*
* @return array
* Returns an array of allowed values for use in form select options.
*/
function farm_lab_test_type_field_allowed_values(FieldStorageDefinitionInterface $definition, ContentEntityInterface $entity = NULL, bool &$cacheable = TRUE) {
return farm_lab_test_type_options();
}
