Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
ExternalIdentifierTableFormatter
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 1
 viewElements
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace Drupal\crm_field\Plugin\Field\FieldFormatter;
4
5use Drupal\Core\Field\FieldItemListInterface;
6use Drupal\Core\Field\FormatterBase;
7
8/**
9 * Plugin implementation of the 'crm_external_identifier_table' formatter.
10 *
11 * @FieldFormatter(
12 *   id = "crm_external_identifier_table",
13 *   label = @Translation("Table"),
14 *   field_types = {"crm_external_identifier"}
15 * )
16 */
17class ExternalIdentifierTableFormatter extends FormatterBase {
18
19  /**
20   * {@inheritdoc}
21   */
22  public function viewElements(FieldItemListInterface $items, $langcode) {
23
24    $header[] = '#';
25    $header[] = $this->t('Source');
26    $header[] = $this->t('Identifier');
27
28    $table = [
29      '#type' => 'table',
30      '#header' => $header,
31    ];
32
33    foreach ($items as $delta => $item) {
34      $row = [];
35
36      $row[]['#markup'] = $delta + 1;
37
38      $row[]['#markup'] = $item->source;
39
40      $row[]['#markup'] = $item->identifier;
41
42      $table[$delta] = $row;
43    }
44
45    return [$table];
46  }
47
48}