Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / lib / Drupal / Core / Field / Plugin / Field / FieldType / LanguageItem.php
index 18935c1b8f5b3031f149c4986493701081867be9..1755ba63f886651df8b58e1f9a674c935aed2394 100644 (file)
@@ -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;
+  }
+
 }