diff --git a/core/lib/Drupal/Core/TypedData/TypedDataManager.php b/core/lib/Drupal/Core/TypedData/TypedDataManager.php index f2bd59f..c9adb01 100644 --- a/core/lib/Drupal/Core/TypedData/TypedDataManager.php +++ b/core/lib/Drupal/Core/TypedData/TypedDataManager.php @@ -362,7 +362,7 @@ public function getConstraints(DataDefinitionInterface $definition) { $class = $type_definition['class']; } // Check if the class provides allowed values. - if (is_subclass_of($class,'Drupal\Core\TypedData\AllowedValuesInterface')) { + if (is_subclass_of($class,'Drupal\Core\TypedData\AllowedValuesInterface') && is_subclass_of($class, 'Drupal\Core\TypedData\PrimitiveInterface')) { $constraints[] = $validation_manager->create('AllowedValues', array()); } diff --git a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListBooleanItem.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListBooleanItem.php index e1299d2..ab6c722 100644 --- a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListBooleanItem.php +++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListBooleanItem.php @@ -8,6 +8,7 @@ namespace Drupal\options\Plugin\Field\FieldType; use Drupal\Core\Entity\Annotation\FieldType; +use Drupal\Core\TypedData\DataDefinition; use Drupal\Core\Annotation\Translation; use Drupal\field\FieldInterface; @@ -55,10 +56,8 @@ public static function schema(FieldInterface $field) { */ public function getPropertyDefinitions() { if (!isset(static::$propertyDefinitions)) { - static::$propertyDefinitions['value'] = array( - 'type' => 'boolean', - 'label' => t('Boolean value'), - ); + static::$propertyDefinitions['value'] = DataDefinition::create('boolean') + ->setLabel(t('Boolean value')); } return static::$propertyDefinitions; } diff --git a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListFloatItem.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListFloatItem.php index 868001d..8a9acaf 100644 --- a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListFloatItem.php +++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListFloatItem.php @@ -8,6 +8,7 @@ namespace Drupal\options\Plugin\Field\FieldType; use Drupal\Core\Entity\Annotation\FieldType; +use Drupal\Core\TypedData\DataDefinition; use Drupal\Core\Annotation\Translation; use Drupal\field\FieldInterface; @@ -55,10 +56,8 @@ public static function schema(FieldInterface $field) { */ public function getPropertyDefinitions() { if (!isset(static::$propertyDefinitions)) { - static::$propertyDefinitions['value'] = array( - 'type' => 'float', - 'label' => t('Float value'), - ); + static::$propertyDefinitions['value'] = DataDefinition::create('float') + ->setLabel(t('Float value')); } return static::$propertyDefinitions; } diff --git a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListIntegerItem.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListIntegerItem.php index b104486..7964f04 100644 --- a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListIntegerItem.php +++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListIntegerItem.php @@ -8,6 +8,7 @@ namespace Drupal\options\Plugin\Field\FieldType; use Drupal\Core\Entity\Annotation\FieldType; +use Drupal\Core\TypedData\DataDefinition; use Drupal\Core\Annotation\Translation; use Drupal\field\FieldInterface; @@ -55,10 +56,8 @@ public static function schema(FieldInterface $field) { */ public function getPropertyDefinitions() { if (!isset(static::$propertyDefinitions)) { - static::$propertyDefinitions['value'] = array( - 'type' => 'integer', - 'label' => t('Integer value'), - ); + static::$propertyDefinitions['value'] = DataDefinition::create('integer') + ->setLabel(t('Integer value')); } return static::$propertyDefinitions; } diff --git a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListTextItem.php b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListTextItem.php index e483aa2..290da4e 100644 --- a/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListTextItem.php +++ b/core/modules/options/lib/Drupal/options/Plugin/Field/FieldType/ListTextItem.php @@ -8,6 +8,7 @@ namespace Drupal\options\Plugin\Field\FieldType; use Drupal\Core\Entity\Annotation\FieldType; +use Drupal\Core\TypedData\DataDefinition; use Drupal\Core\Annotation\Translation; use Drupal\field\FieldInterface; @@ -56,11 +57,9 @@ public static function schema(FieldInterface $field) { */ public function getPropertyDefinitions() { if (!isset(static::$propertyDefinitions)) { - static::$propertyDefinitions['value'] = array( - 'type' => 'string', - 'label' => t('Text value'), - ); - } + static::$propertyDefinitions['value'] = DataDefinition::create('string') + ->setLabel(t('Text value')); + } return static::$propertyDefinitions; }