diff --git a/core/modules/media/src/Plugin/media/Handler/Image.php b/core/modules/media/src/Plugin/media/Handler/Image.php index a167eac..278d643 100644 --- a/core/modules/media/src/Plugin/media/Handler/Image.php +++ b/core/modules/media/src/Plugin/media/Handler/Image.php @@ -6,6 +6,7 @@ use Drupal\Core\Datetime\DrupalDateTime; use Drupal\Core\Entity\EntityFieldManagerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; +use Drupal\Core\Field\FieldTypePluginManagerInterface; use Drupal\Core\File\FileSystem; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Image\ImageFactory; @@ -60,13 +61,15 @@ class Image extends File { * Entity field manager service. * @param \Drupal\Core\Config\ConfigFactoryInterface $config * Media entity config object. + * @param \Drupal\Core\Field\FieldTypePluginManagerInterface $field_type_manager + * The field type plugin manager service. * @param \Drupal\Core\Image\ImageFactory $image_factory * The image factory. * @param \Drupal\Core\File\FileSystem $file_system * File system service. */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $entity_field_manager, ConfigFactoryInterface $config, ImageFactory $image_factory, FileSystem $file_system) { - parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $entity_field_manager, $config); + public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $entity_field_manager, ConfigFactoryInterface $config, FieldTypePluginManagerInterface $field_type_manager, ImageFactory $image_factory, FileSystem $file_system) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $entity_field_manager, $config, $field_type_manager); $this->imageFactory = $image_factory; $this->fileSystem = $file_system; @@ -83,6 +86,7 @@ public static function create(ContainerInterface $container, array $configuratio $container->get('entity_type.manager'), $container->get('entity_field.manager'), $container->get('config.factory'), + $container->get('plugin.manager.field.field_type'), $container->get('image.factory'), $container->get('file_system') ); @@ -95,18 +99,18 @@ public function getProvidedFields() { $fields = parent::getProvidedFields(); $fields += [ - 'width' => $this->t('Width'), - 'height' => $this->t('Height'), + 'width' => ['label' => $this->t('Width')], + 'height' => ['label' => $this->t('Height')], ]; if ($this->canReadExifData()) { $fields += [ - 'model' => $this->t('Camera model'), - 'created' => $this->t('Image creation datetime'), - 'iso' => $this->t('Iso'), - 'exposure' => $this->t('Exposure time'), - 'aperture' => $this->t('Aperture value'), - 'focal_length' => $this->t('Focal length'), + 'model' => ['label' => $this->t('Camera model')], + 'created' => ['label' => $this->t('Image creation datetime')], + 'iso' => ['label' => $this->t('Iso')], + 'exposure' => ['label' => $this->t('Exposure time')], + 'aperture' => ['label' => $this->t('Aperture value')], + 'focal_length' => ['label' => $this->t('Focal length')], ]; } diff --git a/core/profiles/standard/config/optional/core.entity_form_display.media.image.default.yml b/core/profiles/standard/config/optional/core.entity_form_display.media.image.default.yml new file mode 100644 index 0000000..a040f31 --- /dev/null +++ b/core/profiles/standard/config/optional/core.entity_form_display.media.image.default.yml @@ -0,0 +1,46 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.image.field_media_image + - image.style.thumbnail + - media.type.image + module: + - image +id: media.image.default +targetEntityType: media +bundle: image +mode: default +content: + created: + type: datetime_timestamp + weight: 10 + region: content + settings: { } + third_party_settings: { } + field_media_image: + settings: + progress_indicator: throbber + preview_image_style: thumbnail + third_party_settings: { } + type: image_image + weight: 26 + region: content + name: + type: string_textfield + weight: -5 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 5 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } +hidden: { } diff --git a/core/profiles/standard/config/optional/core.entity_view_display.media.image.default.yml b/core/profiles/standard/config/optional/core.entity_view_display.media.image.default.yml new file mode 100644 index 0000000..e541d7f --- /dev/null +++ b/core/profiles/standard/config/optional/core.entity_view_display.media.image.default.yml @@ -0,0 +1,51 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.image.field_media_image + - image.style.thumbnail + - media.type.image + module: + - image + - user +id: media.image.default +targetEntityType: media +bundle: image +mode: default +content: + created: + label: hidden + type: timestamp + weight: 0 + region: content + settings: + date_format: medium + custom_date_format: '' + timezone: '' + third_party_settings: { } + field_media_image: + label: above + settings: + image_style: '' + image_link: '' + third_party_settings: { } + type: image + weight: 6 + region: content + thumbnail: + type: image + weight: 5 + label: hidden + settings: + image_style: thumbnail + image_link: '' + region: content + third_party_settings: { } + uid: + label: hidden + type: author + weight: 0 + region: content + settings: { } + third_party_settings: { } +hidden: { } diff --git a/core/profiles/standard/config/optional/field.field.media.image.field_media_image.yml b/core/profiles/standard/config/optional/field.field.media.image.field_media_image.yml new file mode 100644 index 0000000..628c386 --- /dev/null +++ b/core/profiles/standard/config/optional/field.field.media.image.field_media_image.yml @@ -0,0 +1,40 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_image + - media.type.image + module: + - image + enforced: + module: + - media +id: media.image.field_media_image +field_name: field_media_image +entity_type: media +bundle: image +label: field_media_image +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + file_extensions: 'png gif jpg jpeg' + alt_field: true + alt_field_required: true + title_field: false + title_field_required: false + max_resolution: '' + min_resolution: '' + default_image: + uuid: null + alt: '' + title: '' + width: null + height: null + file_directory: '[date:custom:Y]-[date:custom:m]' + max_filesize: '' + handler: 'default:file' + handler_settings: { } +field_type: image diff --git a/core/profiles/standard/config/optional/field.storage.media.field_media_image.yml b/core/profiles/standard/config/optional/field.storage.media.field_media_image.yml new file mode 100644 index 0000000..1597ce6 --- /dev/null +++ b/core/profiles/standard/config/optional/field.storage.media.field_media_image.yml @@ -0,0 +1,32 @@ +langcode: en +status: true +dependencies: + module: + - file + - image + - media + enforced: + module: + - media +id: media.field_media_image +field_name: field_media_image +entity_type: media +type: image +settings: + default_image: + uuid: null + alt: '' + title: '' + width: null + height: null + target_type: file + display_field: false + display_default: false + uri_scheme: public +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/core/profiles/standard/config/optional/media.type.image.yml b/core/profiles/standard/config/optional/media.type.image.yml new file mode 100644 index 0000000..a823e03 --- /dev/null +++ b/core/profiles/standard/config/optional/media.type.image.yml @@ -0,0 +1,14 @@ +langcode: en +status: true +dependencies: + module: + - media +id: image +label: Image +description: 'Use the "Image" media type for uploading local images.' +handler: image +queue_thumbnail_downloads: false +new_revision: false +handler_configuration: + source_field: field_media_image +field_map: { }