farm-2.x-dev/modules/core/inventory/src/Field/AssetInventoryItemList.php
modules/core/inventory/src/Field/AssetInventoryItemList.php
<?php namespace Drupal\farm_inventory\Field; use Drupal\Core\Field\FieldItemList; use Drupal\Core\TypedData\ComputedItemListTrait; /** * Computes the current inventory value for assets. */ class AssetInventoryItemList extends FieldItemList { use ComputedItemListTrait; /** * Computes the current inventory value for the asset. */ protected function computeValue() { // Get the asset entity. $entity = $this->getEntity(); // Get the asset's current inventories. $inventories = \Drupal::service('asset.inventory')->getInventory($entity); // Update the assets current inventory values to match. // @todo Cache this field computation. foreach ($inventories as $delta => $inventory) { $this->list[$delta] = $this->createItem($delta, $inventory); } } }