TransactionDetailsItemList.php in Transaction 8
File
src/Plugin/Field/TransactionDetailsItemList.php
View source
<?php
namespace Drupal\transaction\Plugin\Field;
use Drupal\Core\Field\FieldItemList;
class TransactionDetailsItemList extends FieldItemList {
protected $isCalculated = FALSE;
public function getIterator() {
$this
->ensureCalculated();
return new \ArrayIterator($this->list);
}
public function getValue($include_computed = FALSE) {
$this
->ensureCalculated();
return parent::getValue($include_computed);
}
public function isEmpty() {
$this
->ensureCalculated();
return parent::isEmpty();
}
public function setValue($values, $notify = TRUE) {
}
protected function ensureCalculated() {
if (!$this->isCalculated) {
foreach ($this
->getEntity()
->getDetails(TRUE) as $delta => $value) {
$this->list[$delta] = $this
->createItem($delta, $value);
}
$this->isCalculated = TRUE;
}
}
}