You are here

protected function LanguageSelect::formatTextItem in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformElement/LanguageSelect.php \Drupal\webform\Plugin\WebformElement\LanguageSelect::formatTextItem()

Format an element's value as text.

Parameters

array $element: An element.

\Drupal\webform\WebformSubmissionInterface $webform_submission: A webform submission.

array $options: An array of options.

Return value

string The element's value formatted as text.

Overrides WebformElementBase::formatTextItem

See also

_webform_token_get_submission_value()

File

src/Plugin/WebformElement/LanguageSelect.php, line 56

Class

LanguageSelect
Provides a 'language_select' element.

Namespace

Drupal\webform\Plugin\WebformElement

Code

protected function formatTextItem(array $element, WebformSubmissionInterface $webform_submission, array $options = []) {
  $value = $this
    ->getValue($element, $webform_submission, $options);
  $language = $this->languageManager
    ->getLanguage($value);
  $format = $this
    ->getItemFormat($element);
  switch ($format) {
    case 'langcode':
      return $language
        ->getId();
    case 'language':
      return $language
        ->getName();
    case 'text':
    default:

      // Use `sprintf` instead of FormattableMarkup because we really just
      // want a basic string.
      return sprintf('%s (%s)', $language
        ->getName(), $language
        ->getId());
  }
}