+++ /dev/null
-<?php
-
-namespace Drupal\entity_reference_revisions\Plugin\Field\FieldWidget;
-
-use Drupal\Core\Entity\Entity;
-use Drupal\Core\Field\Plugin\Field\FieldWidget\EntityReferenceAutocompleteWidget;
-use Drupal\Core\Form\FormStateInterface;
-
-/**
- * Plugin implementation of the 'entity_reference_autocomplete' widget.
- *
- * @FieldWidget(
- * id = "entity_reference_revisions_autocomplete",
- * label = @Translation("Autocomplete"),
- * description = @Translation("An autocomplete text field."),
- * field_types = {
- * "entity_reference_revisions"
- * }
- * )
- */
-class EntityReferenceRevisionsAutocompleteWidget extends EntityReferenceAutocompleteWidget {
-
- /**
- * {@inheritdoc}
- */
- public function massageFormValues(array $values, array $form, FormStateInterface $form_state) {
- $entity_type = $this->fieldDefinition->getFieldStorageDefinition()->getSetting('target_type');
- foreach ($values as $key => $value) {
- if($value['target_id']) {
- $entity = \Drupal::entityTypeManager()->getStorage($entity_type)->load($value['target_id']);
- // Add the current revision ID.
- $values[$key]['target_revision_id'] = $entity->getRevisionId();
- }
- // The entity_autocomplete form element returns an array when an entity
- // was "autocreated", so we need to move it up a level.
- if (is_array($value['target_id'])) {
- unset($values[$key]['target_id']);
- $values[$key] += $value['target_id'];
- }
- }
- return $values;
- }
-
-}