cloud-8.x-2.0-beta1/modules/cloud_service_providers/k8s/src/Plugin/Field/FieldFormatter/KeyValueFormatter.php
modules/cloud_service_providers/k8s/src/Plugin/Field/FieldFormatter/KeyValueFormatter.php
<?php
namespace Drupal\k8s\Plugin\Field\FieldFormatter;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\FormatterBase;
/**
* Plugin implementation of the 'key_value_formatter' formatter.
*
* @FieldFormatter(
* id = "key_value_formatter",
* label = @Translation("Key value formatter"),
* field_types = {
* "key_value"
* }
* )
*/
class KeyValueFormatter extends FormatterBase {
/**
* {@inheritdoc}
*/
public function viewElements(FieldItemListInterface $items, $langcode) {
$elements = [];
$rows = [];
foreach ($items as $item) {
/* @var \Drupal\k8s\Plugin\Field\FieldType\KeyValue $item */
if (!$item->isEmpty()) {
$rows[] = [
$item->item_key,
$item->item_value,
];
}
}
if (count($rows)) {
$elements[0] = [
'#theme' => 'table',
'#header' => [
$this->t('Key'),
$this->t('Value'),
],
'#rows' => $rows,
];
}
return $elements;
}
}
