Example #1
0
 /**
  * Helper function. Returns field properties based on the given type.
  *
  * @param string $type
  *   Range field data type. Either 'integer', 'float' or 'string'.
  *
  * @return \Drupal\Core\TypedData\DataDefinitionInterface[]
  *   An array of property definitions of contained properties, keyed by
  *   property name.
  */
 protected static function propertyDefinitionsByType($type)
 {
     $properties = array();
     $properties['from'] = DataDefinition::create($type)->setLabel(t('From value'))->setRequired(TRUE);
     $properties['to'] = DataDefinition::create($type)->setLabel(t('To value'))->setRequired(TRUE);
     return $properties;
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['value'] = DataDefinition::create('string')->setLabel(new TranslatableMarkup('The hashed password'))->setSetting('case_sensitive', TRUE);
     $properties['existing'] = DataDefinition::create('string')->setLabel(new TranslatableMarkup('Existing password'));
     $properties['pre_hashed'] = DataDefinition::create('boolean')->setLabel(new TranslatableMarkup('Determines if a password needs hashing'));
     return $properties;
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['value'] = DataDefinition::create('string')->setLabel(t('Text'))->setRequired(TRUE);
     $properties['format'] = DataDefinition::create('filter_format')->setLabel(t('Text format'));
     $properties['processed'] = DataDefinition::create('string')->setLabel(t('Processed text'))->setDescription(t('The text with the text format applied.'))->setComputed(TRUE)->setClass('\\Drupal\\text\\TextProcessed')->setSetting('text source', 'value');
     return $properties;
 }
Example #4
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $settings = $field_definition->getSettings();
     $target_type_info = \Drupal::entityManager()->getDefinition($settings['target_type']);
     $target_id_data_type = 'string';
     if ($target_type_info->isSubclassOf('\\Drupal\\Core\\Entity\\FieldableEntityInterface')) {
         $id_definition = \Drupal::entityManager()->getBaseFieldDefinitions($settings['target_type'])[$target_type_info->getKey('id')];
         if ($id_definition->getType() === 'integer') {
             $target_id_data_type = 'integer';
         }
     }
     if ($target_id_data_type === 'integer') {
         $target_id_definition = DataDefinition::create('integer')->setLabel(t('@label ID', array($target_type_info->getLabel())))->setSetting('unsigned', TRUE);
     } else {
         $target_id_definition = DataDefinition::create('string')->setLabel(t('@label ID', array($target_type_info->getLabel())));
     }
     $target_id_definition->setRequired(TRUE);
     $properties['target_id'] = $target_id_definition;
     $properties['entity'] = DataReferenceDefinition::create('entity')->setLabel($target_type_info->getLabel())->setDescription(t('The referenced entity'))->setComputed(TRUE)->setReadOnly(FALSE)->setTargetDefinition(EntityDataDefinition::create($settings['target_type']))->addConstraint('EntityType', $settings['target_type']);
     if (isset($settings['target_bundle'])) {
         $properties['entity']->addConstraint('Bundle', $settings['target_bundle']);
         // Set any further bundle constraints on the target definition as well,
         // such that it can derive more special data types if possible. For
         // example, "entity:node:page" instead of "entity:node".
         $properties['entity']->getTargetDefinition()->addConstraint('Bundle', $settings['target_bundle']);
     }
     return $properties;
 }
Example #5
0
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['away_from'] = DataDefinition::create('integer')->setLabel(t('Away from'));
     $properties['away_to'] = DataDefinition::create('integer')->setLabel(t('Away to'));
     $properties['away_time'] = DataDefinition::create('integer')->setLabel(t('Away time'));
     return $properties;
 }
 public function provideTestValidate()
 {
     $data = [];
     $data[] = [new BooleanData(DataDefinition::create('boolean')), NULL, TRUE];
     $data[] = [new BooleanData(DataDefinition::create('boolean')), 1, TRUE];
     $data[] = [new BooleanData(DataDefinition::create('boolean')), 'test', FALSE];
     $data[] = [new FloatData(DataDefinition::create('float')), 1.5, TRUE];
     $data[] = [new FloatData(DataDefinition::create('float')), 'test', FALSE];
     $data[] = [new IntegerData(DataDefinition::create('integer')), 1, TRUE];
     $data[] = [new IntegerData(DataDefinition::create('integer')), 1.5, FALSE];
     $data[] = [new IntegerData(DataDefinition::create('integer')), 'test', FALSE];
     $data[] = [new StringData(DataDefinition::create('string')), 'test', TRUE];
     $data[] = [new StringData(DataDefinition::create('string')), new TranslatableMarkup('test'), TRUE];
     // It is odd that 1 is a valid string.
     // $data[] = [$this->getMock('Drupal\Core\TypedData\Type\StringInterface'), 1, FALSE];
     $data[] = [new StringData(DataDefinition::create('string')), [], FALSE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'http://www.drupal.org', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'https://www.drupal.org', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'Invalid', FALSE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'entity:node/1', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'base:', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'base:node', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'internal:', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'public://', FALSE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'public://foo.png', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'private://', FALSE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'private://foo.png', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'drupal.org', FALSE];
     return $data;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['source_description'] = DataDefinition::create('string')->setLabel(t('Snippet description'));
     $properties['source_code'] = DataDefinition::create('string')->setLabel(t('Snippet code'));
     $properties['source_lang'] = DataDefinition::create('string')->setLabel(t('Last comment timestamp'))->setDescription(t('Snippet code language'));
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties = parent::propertyDefinitions($field_definition);
     $properties['summary'] = DataDefinition::create('string')->setLabel(t('Summary text value'));
     $properties['summary_processed'] = DataDefinition::create('string')->setLabel(t('Processed summary text'))->setDescription(t('The summary text value with the text format applied.'))->setComputed(TRUE)->setClass('\\Drupal\\text\\TextProcessed')->setSetting('text source', 'summary');
     return $properties;
 }
Example #9
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     // This is called very early by the user entity roles field. Prevent
     // early t() calls by using the TranslatableMarkup.
     $properties['value'] = DataDefinition::create('string')->setLabel(new TranslatableMarkup('Text value'))->setSetting('case_sensitive', $field_definition->getSetting('case_sensitive'))->setRequired(TRUE);
     return $properties;
 }
 /**
  * Tests the ComplexData validation constraint validator.
  *
  * For testing a map including a constraint on one of its keys is defined.
  */
 public function testValidation()
 {
     // Create a definition that specifies some ComplexData constraint.
     $definition = MapDataDefinition::create()->setPropertyDefinition('key', DataDefinition::create('integer'))->addConstraint('ComplexData', array('key' => array('AllowedValues' => array(1, 2, 3))));
     // Test the validation.
     $typed_data = $this->typedData->create($definition, array('key' => 1));
     $violations = $typed_data->validate();
     $this->assertEqual($violations->count(), 0, 'Validation passed for correct value.');
     // Test the validation when an invalid value is passed.
     $typed_data = $this->typedData->create($definition, array('key' => 4));
     $violations = $typed_data->validate();
     $this->assertEqual($violations->count(), 1, 'Validation failed for incorrect value.');
     // Make sure the information provided by a violation is correct.
     $violation = $violations[0];
     $this->assertEqual($violation->getMessage(), t('The value you selected is not a valid choice.'), 'The message for invalid value is correct.');
     $this->assertEqual($violation->getRoot(), $typed_data, 'Violation root is correct.');
     $this->assertEqual($violation->getInvalidValue(), 4, 'The invalid value is set correctly in the violation.');
     // Test using the constraint with a map without the specified key. This
     // should be ignored as long as there is no NotNull or NotBlank constraint.
     $typed_data = $this->typedData->create($definition, array('foo' => 'bar'));
     $violations = $typed_data->validate();
     $this->assertEqual($violations->count(), 0, 'Constraint on non-existing key is ignored.');
     $definition = MapDataDefinition::create()->setPropertyDefinition('key', DataDefinition::create('integer'))->addConstraint('ComplexData', array('key' => array('NotNull' => array())));
     $typed_data = $this->typedData->create($definition, array('foo' => 'bar'));
     $violations = $typed_data->validate();
     $this->assertEqual($violations->count(), 1, 'Key is required.');
 }
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties = parent::propertyDefinitions($field_definition);
     $properties[';value'] = DataDefinition::create('datetime_iso8601')->setLabel(t('Date value'))->setRequired(TRUE);
     $properties['date'] = DataDefinition::create('any')->setLabel(t('Computed date'))->setDescription(t('The computed DateTime object.'))->setComputed(TRUE)->setClass('\\Drupal\\datetime\\DateTimeComputed')->setSetting('date source', 'value');
     return $properties;
 }
Example #12
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['uri'] = DataDefinition::create('uri')->setLabel(t('URI'));
     $properties['title'] = DataDefinition::create('string')->setLabel(t('Link text'));
     $properties['options'] = MapDataDefinition::create()->setLabel(t('Options'));
     return $properties;
 }
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['start_date'] = DataDefinition::create('datetime_iso8601')->setLabel(t('Start date'));
     $properties['end_date'] = DataDefinition::create('datetime_iso8601')->setLabel(t('End date'));
     $properties['state'] = DataDefinition::create('string')->setLabel(t('State'));
     return $properties;
 }
Example #14
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     // This is called very early by the user entity roles field. Prevent
     // early t() calls by using the TranslationWrapper.
     $properties['value'] = DataDefinition::create('string')->setLabel(new TranslationWrapper('Text value'));
     return $properties;
 }
Example #15
0
 /**
  * {@inheritdoc}
  */
 public function getPropertyDefinitions()
 {
     if (!isset(static::$propertyDefinitions)) {
         static::$propertyDefinitions['value'] = DataDefinition::create('map')->setLabel(t('Serialized value'));
     }
     return static::$propertyDefinitions;
 }
Example #16
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     // Prevent early t() calls by using the TranslatableMarkup.
     $properties['name'] = DataDefinition::create('string')->setLabel(new TranslatableMarkup('Text'))->setRequired(FALSE);
     $properties['value'] = DataDefinition::create('integer')->setLabel(new TranslatableMarkup('Value'))->setRequired(FALSE);
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties = parent::propertyDefinitions($field_definition);
     $properties['display'] = DataDefinition::create('boolean')->setLabel(t('Display'))->setDescription(t('Flag to control whether this file should be displayed when viewing content'));
     $properties['description'] = DataDefinition::create('string')->setLabel(t('Description'));
     return $properties;
 }
Example #18
0
  /**
   * {@inheritdoc}
   */
  public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
    $properties['value'] = DataDefinition::create('string')
      ->setLabel(t('Text value'))
      ->addConstraint('Length', array('max' => 255))
      ->setRequired(TRUE);

    return $properties;
  }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties = [];
     $properties['csv'] = DataDefinition::create('string')->setLabel(t('CSV'));
     $properties['csv_url'] = DataDefinition::create('string')->setLabel(t('CSV URL'));
     $properties['config'] = DataDefinition::create('string')->setLabel(t('Config'));
     return $properties;
 }
Example #20
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['value'] = DataDefinition::create('datetime_iso8601')->setLabel(t('Start date value'))->setRequired(TRUE);
     $properties['start_date'] = DataDefinition::create('any')->setLabel(t('Computed start date'))->setDescription(t('The computed start DateTime object.'))->setComputed(TRUE)->setClass(DateTimeComputed::class)->setSetting('date source', 'value');
     $properties['end_value'] = DataDefinition::create('datetime_iso8601')->setLabel(t('End date value'))->setRequired(TRUE);
     $properties['end_date'] = DataDefinition::create('any')->setLabel(t('Computed end date'))->setDescription(t('The computed end DateTime object.'))->setComputed(TRUE)->setClass(DateTimeComputed::class)->setSetting('date source', 'end_value');
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     // Prevent early t() calls by using the TranslatableMarkup.
     $properties['view_mode'] = DataDefinition::create('string')->setLabel(new TranslatableMarkup('View mode'))->setSetting('case_sensitive', FALSE)->setRequired(TRUE);
     $properties['default'] = DataDefinition::create('string')->setLabel(new TranslatableMarkup('Default name'))->setSetting('case_sensitive', FALSE)->setRequired(FALSE);
     $properties['panels_display'] = MapDataDefinition::create('map')->setLabel(new TranslatableMarkup('Panels display'))->setRequired(TRUE);
     return $properties;
 }
Example #22
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['northeast_lng'] = DataDefinition::create('float')->setLabel(t('northeast lng'))->setRequired(TRUE);
     $properties['northeast_lat'] = DataDefinition::create('float')->setLabel(t('Northeast lat'))->setRequired(TRUE);
     $properties['southwest_lng'] = DataDefinition::create('float')->setLabel(t('Southwest lng'))->setRequired(TRUE);
     $properties['southwest_lat'] = DataDefinition::create('float')->setLabel(t('Southwest lat'))->setRequired(TRUE);
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['length'] = DataDefinition::create('float')->setLabel(t('Length'));
     $properties['width'] = DataDefinition::create('float')->setLabel(t('Width'));
     $properties['height'] = DataDefinition::create('float')->setLabel(t('Height'));
     $properties['units'] = DataDefinition::create('string')->setLabel(t('Units'));
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties = parent::propertyDefinitions($field_definition);
     // unset the default values from the file module
     unset($properties['display']);
     unset($properties['description']);
     $properties['data'] = DataDefinition::create('string')->setLabel(t('Additional video metadata'))->setDescription(t("Additional metadata for the uploadded or embedded video."));
     return $properties;
 }
Example #25
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties = parent::propertyDefinitions($field_definition);
     $properties['imported'] = DataDefinition::create('timestamp')->setLabel(t('Timestamp'));
     $properties['url'] = DataDefinition::create('uri')->setLabel(t('Item URL'));
     $properties['guid'] = DataDefinition::create('string')->setLabel(t('Item GUID'));
     $properties['hash'] = DataDefinition::create('string')->setLabel(t('Item hash'));
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties = parent::propertyDefinitions($field_definition);
     $properties['alt'] = DataDefinition::create('string')->setLabel(t('Alternative text'))->setDescription(t("Alternative image text, for the image's 'alt' attribute."));
     $properties['title'] = DataDefinition::create('string')->setLabel(t('Title'))->setDescription(t("Image title text, for the image's 'title' attribute."));
     $properties['width'] = DataDefinition::create('integer')->setLabel(t('Width'))->setDescription(t('The width of the image in pixels.'));
     $properties['height'] = DataDefinition::create('integer')->setLabel(t('Height'))->setDescription(t('The height of the image in pixels.'));
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     // Call the parent to define the target_id and entity properties.
     $properties = parent::propertyDefinitions($field_definition);
     $properties['status'] = DataDefinition::create('integer')->setLabel(t('Status'))->setSetting('unsigned', TRUE);
     $properties['timestamp'] = DataDefinition::create('timestamp')->setLabel(t('Timestamp'));
     $properties['source'] = DataDefinition::create('string')->setLabel(t('Source'));
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['lat'] = DataDefinition::create('float')->setLabel(t('Latitude'));
     $properties['lng'] = DataDefinition::create('float')->setLabel(t('Longitude'));
     $properties['lat_sin'] = DataDefinition::create('float')->setLabel(t('Latitude sine'));
     $properties['lat_cos'] = DataDefinition::create('float')->setLabel(t('Latitude cosine'));
     $properties['lng_rad'] = DataDefinition::create('float')->setLabel(t('Longitude radian'));
     $properties['data'] = MapDataDefinition::create()->setLabel(t('Meta data'));
     return $properties;
 }
Example #29
0
 /**
  * {@inheritDoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['title'] = DataDefinition::create('string')->setLabel(t('Title'));
     $properties['given'] = DataDefinition::create('string')->setLabel(t('Given'));
     $properties['middle'] = DataDefinition::create('string')->setLabel(t('Middle name(s)'));
     $properties['family'] = DataDefinition::create('string')->setLabel(t('Family'));
     $properties['generational'] = DataDefinition::create('string')->setLabel(t('Generational'));
     $properties['credentials'] = DataDefinition::create('string')->setLabel(t('Credentials'));
     return $properties;
 }
Example #30
0
 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $properties['status'] = DataDefinition::create('integer')->setLabel(t('Comment status'))->setRequired(TRUE);
     $properties['cid'] = DataDefinition::create('integer')->setLabel(t('Last comment ID'));
     $properties['last_comment_timestamp'] = DataDefinition::create('integer')->setLabel(t('Last comment timestamp'))->setDescription(t('The time that the last comment was created.'));
     $properties['last_comment_name'] = DataDefinition::create('string')->setLabel(t('Last comment name'))->setDescription(t('The name of the user posting the last comment.'));
     $properties['last_comment_uid'] = DataDefinition::create('integer')->setLabel(t('Last comment user ID'));
     $properties['comment_count'] = DataDefinition::create('integer')->setLabel(t('Number of comments'))->setDescription(t('The number of comments.'));
     return $properties;
 }