X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Flib%2FDrupal%2FCore%2FField%2FPlugin%2FField%2FFieldType%2FLanguageItem.php;fp=web%2Fcore%2Flib%2FDrupal%2FCore%2FField%2FPlugin%2FField%2FFieldType%2FLanguageItem.php;h=1755ba63f886651df8b58e1f9a674c935aed2394;hp=18935c1b8f5b3031f149c4986493701081867be9;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/web/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php b/web/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php index 18935c1b8..1755ba63f 100644 --- a/web/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php +++ b/web/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php @@ -2,6 +2,7 @@ namespace Drupal\Core\Field\Plugin\Field\FieldType; +use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldStorageDefinitionInterface; use Drupal\Core\Field\FieldItemBase; use Drupal\Core\Language\LanguageInterface; @@ -117,4 +118,20 @@ class LanguageItem extends FieldItemBase { parent::onChange($property_name, $notify); } + /** + * {@inheritdoc} + */ + public static function generateSampleValue(FieldDefinitionInterface $field_definition) { + // Defer to the callback in the item definition as it can be overridden. + $constraint = $field_definition->getItemDefinition()->getConstraint('ComplexData'); + if (isset($constraint['value']['AllowedValues']['callback'])) { + $languages = call_user_func($constraint['value']['AllowedValues']['callback']); + } + else { + $languages = static::getAllowedLanguageCodes(); + } + $values['value'] = $languages[array_rand($languages)]; + return $values; + } + }