getFieldStorageDefinition(); $this->allowedValues = options_allowed_values($field_storage); } /** * {@inheritdoc} */ protected function defineOptions() { $options = parent::defineOptions(); $options['summary']['contains']['human'] = ['default' => FALSE]; return $options; } /** * {@inheritdoc} */ public function buildOptionsForm(&$form, FormStateInterface $form_state) { parent::buildOptionsForm($form, $form_state); $form['summary']['human'] = [ '#title' => $this->t('Display list value as human readable'), '#type' => 'checkbox', '#default_value' => $this->options['summary']['human'], '#states' => [ 'visible' => [ ':input[name="options[default_action]"]' => ['value' => 'summary'], ], ], ]; } /** * {@inheritdoc} */ public function summaryName($data) { $value = $data->{$this->name_alias}; // If the list element has a human readable name show it. if (isset($this->allowedValues[$value]) && !empty($this->options['summary']['human'])) { $value = $this->allowedValues[$value]; } return FieldFilteredMarkup::create($this->caseTransform($value, $this->options['case'])); } }