*
* Provides storage and API for image crops.
*/
+
use Drupal\Component\Utility\UrlHelper;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\StreamWrapper\PublicStream;
use Drupal\crop\Entity\Crop;
use Drupal\image\Entity\ImageStyle;
-use Drupal\media\Entity\MediaType;
+use Drupal\media\MediaSourceInterface;
use Drupal\media\MediaTypeInterface;
-use Drupal\media_entity\MediaBundleInterface;
use Drupal\file\FileInterface;
/**
/**
* Implements hook_form_FORM_ID_alter().
*
- * Adds crop configuration fields to media type form.
+ * Adds crop configuration fields to media form.
*/
function crop_form_media_type_edit_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
- _crop_media_provider_form($form, $form_state);
-}
-
-/**
- * Implements hook_form_FORM_ID_alter().
- *
- * Adds crop configuration fields to media bundle form.
- */
-function crop_form_media_bundle_edit_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
- _crop_media_provider_form($form, $form_state);
-}
-
-/**
- * Helper function to avoid uneeded code duplication.
- *
- * @todo Delete this and media entity fallback when media is stable.
- */
-function _crop_media_provider_form(array &$form, FormStateInterface $form_state) {
- /** @var \Drupal\Core\Config\Entity\ConfigEntityBundleBase $entity_type */
+ /** @var \Drupal\media\Entity\MediaType $entity_type */
$entity_type = $form_state->getFormObject()->getEntity();
$options = [];
$allowed_field_types = ['file', 'image'];
}
}
- // Maintain compatibility with Media Entity.
- if ($entity_type instanceof MediaType) {
- $form['#entity_builders'][] = 'crop_media_type_form_builder';
- }
- else {
- $form['#entity_builders'][] = 'crop_media_bundle_form_builder';
- }
-
+ $form['#entity_builders'][] = 'crop_media_type_form_builder';
$form['crop'] = [
'#type' => 'fieldset',
'#title' => t('Crop configuration'),
'#default_value' => $entity_type->getThirdPartySetting('crop', 'image_field'),
'#options' => $options,
'#empty_option' => t('- Skip field -'),
- '#empty_value' => '_none',
+ '#empty_value' => MediaSourceInterface::METADATA_FIELD_EMPTY,
'#description' => t('Select field that stores image which needs to be cropped.'),
];
-
- return $form;
-}
-
-/**
- * Entity builder for Media bundle.
- *
- * Adds third party settings to Media bundle config entity.
- *
- * @see crop_form_media_bundle_form_alter()
- */
-function crop_media_bundle_form_builder($entity_type, MediaBundleInterface $bundle, &$form, FormStateInterface $form_state) {
- $bundle->setThirdPartySetting('crop', 'image_field', $form_state->getValue('image_field'));
}
/**