getOptions($items->getEntity()); $selected = $this->getSelectedOptions($items); // If required and there is one single option, preselect it. if ($this->required && count($options) == 1) { reset($options); $selected = [key($options)]; } if ($this->multiple) { $element += [ '#type' => 'checkboxes', '#default_value' => $selected, '#options' => $options, ]; } else { $element += [ '#type' => 'radios', // Radio buttons need a scalar value. Take the first default value, or // default to NULL so that the form element is properly recognized as // not having a default value. '#default_value' => $selected ? reset($selected) : NULL, '#options' => $options, ]; } return $element; } /** * {@inheritdoc} */ protected function getEmptyLabel() { if (!$this->required && !$this->multiple) { return t('N/A'); } } }