Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 41 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
ExternalIdentifierKeyValueFormatter | |
0.00% |
0 / 41 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 1 |
viewElements | |
0.00% |
0 / 41 |
|
0.00% |
0 / 1 |
20 |
1 | <?php |
2 | |
3 | namespace Drupal\crm_field\Plugin\Field\FieldFormatter; |
4 | |
5 | use Drupal\Core\Field\FieldItemListInterface; |
6 | use Drupal\Core\Field\FormatterBase; |
7 | |
8 | /** |
9 | * Plugin implementation of the 'crm_external_identifier_key_value' formatter. |
10 | * |
11 | * @FieldFormatter( |
12 | * id = "crm_external_identifier_key_value", |
13 | * label = @Translation("Key-value"), |
14 | * field_types = {"crm_external_identifier"} |
15 | * ) |
16 | */ |
17 | class ExternalIdentifierKeyValueFormatter extends FormatterBase { |
18 | |
19 | /** |
20 | * {@inheritdoc} |
21 | */ |
22 | public function viewElements(FieldItemListInterface $items, $langcode) { |
23 | |
24 | $element = []; |
25 | |
26 | foreach ($items as $delta => $item) { |
27 | |
28 | $table = [ |
29 | '#type' => 'table', |
30 | ]; |
31 | |
32 | // Source. |
33 | if ($item->source) { |
34 | $table['#rows'][] = [ |
35 | 'data' => [ |
36 | [ |
37 | 'header' => TRUE, |
38 | 'data' => [ |
39 | '#markup' => $this->t('Source'), |
40 | ], |
41 | ], |
42 | [ |
43 | 'data' => [ |
44 | '#markup' => $item->source, |
45 | ], |
46 | ], |
47 | ], |
48 | 'no_striping' => TRUE, |
49 | ]; |
50 | } |
51 | |
52 | // Identifier. |
53 | if ($item->identifier) { |
54 | $table['#rows'][] = [ |
55 | 'data' => [ |
56 | [ |
57 | 'header' => TRUE, |
58 | 'data' => [ |
59 | '#markup' => $this->t('Identifier'), |
60 | ], |
61 | ], |
62 | [ |
63 | 'data' => [ |
64 | '#markup' => $item->identifier, |
65 | ], |
66 | ], |
67 | ], |
68 | 'no_striping' => TRUE, |
69 | ]; |
70 | } |
71 | |
72 | $element[$delta] = $table; |
73 | |
74 | } |
75 | |
76 | return $element; |
77 | } |
78 | |
79 | } |