+++ /dev/null
-<?php
-
-namespace Drupal\media_entity;
-
-use Drupal\Core\Entity\EditorialContentEntityBase;
-use Drupal\Core\Entity\EntityTypeInterface;
-use Drupal\Core\Field\BaseFieldDefinition;
-
-final class Media extends EditorialContentEntityBase {
-
- /**
- * {@inheritdoc}
- */
- public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
- $fields = parent::baseFieldDefinitions($entity_type);
-
- $fields['name'] = BaseFieldDefinition::create('string')
- ->setLabel(t('Name'))
- ->setRequired(TRUE)
- ->setTranslatable(TRUE)
- ->setRevisionable(TRUE)
- ->setDefaultValue('')
- ->setSetting('max_length', 255)
- ->setDisplayOptions('form', [
- 'type' => 'string_textfield',
- 'weight' => -5,
- ])
- ->setDisplayConfigurable('form', TRUE)
- ->setDisplayOptions('view', [
- 'label' => 'hidden',
- 'type' => 'string',
- 'weight' => -5,
- ]);
-
- $fields['thumbnail'] = BaseFieldDefinition::create('image')
- ->setLabel(t('Thumbnail'))
- ->setDescription(t('The thumbnail of the media item.'))
- ->setRevisionable(TRUE)
- ->setTranslatable(TRUE)
- ->setDisplayOptions('view', [
- 'type' => 'image',
- 'weight' => 5,
- 'label' => 'hidden',
- 'settings' => [
- 'image_style' => 'thumbnail',
- ],
- ])
- ->setDisplayConfigurable('view', TRUE)
- ->setReadOnly(TRUE);
-
- $fields['uid'] = BaseFieldDefinition::create('entity_reference')
- ->setLabel(t('Authored by'))
- ->setDescription(t('The user ID of the author.'))
- ->setRevisionable(TRUE)
- ->setDefaultValueCallback(static::class . '::getCurrentUserId')
- ->setSetting('target_type', 'user')
- ->setTranslatable(TRUE)
- ->setDisplayOptions('form', [
- 'type' => 'entity_reference_autocomplete',
- 'weight' => 5,
- 'settings' => [
- 'match_operator' => 'CONTAINS',
- 'size' => '60',
- 'autocomplete_type' => 'tags',
- 'placeholder' => '',
- ],
- ])
- ->setDisplayConfigurable('form', TRUE)
- ->setDisplayOptions('view', [
- 'label' => 'hidden',
- 'type' => 'author',
- 'weight' => 0,
- ])
- ->setDisplayConfigurable('view', TRUE);
-
- $fields['status']
- ->setDisplayOptions('form', [
- 'type' => 'boolean_checkbox',
- 'settings' => [
- 'display_label' => TRUE,
- ],
- 'weight' => 100,
- ])
- ->setDisplayConfigurable('form', TRUE);
-
- $fields['created'] = BaseFieldDefinition::create('created')
- ->setLabel(t('Authored on'))
- ->setDescription(t('The time the media item was created.'))
- ->setTranslatable(TRUE)
- ->setRevisionable(TRUE)
- ->setDefaultValueCallback(static::class . '::getRequestTime')
- ->setDisplayOptions('form', [
- 'type' => 'datetime_timestamp',
- 'weight' => 10,
- ])
- ->setDisplayConfigurable('form', TRUE)
- ->setDisplayOptions('view', [
- 'label' => 'hidden',
- 'type' => 'timestamp',
- 'weight' => 0,
- ])
- ->setDisplayConfigurable('view', TRUE);
-
- $fields['changed'] = BaseFieldDefinition::create('changed')
- ->setLabel(t('Changed'))
- ->setDescription(t('The time the media item was last edited.'))
- ->setTranslatable(TRUE)
- ->setRevisionable(TRUE);
-
- return $fields;
- }
-
-}