You are here

function lightning_media_image_crop_type_insert in Lightning Media 8.3

Same name and namespace in other branches
  1. 8.4 modules/lightning_media_image/lightning_media_image.module \lightning_media_image_crop_type_insert()
  2. 8 modules/lightning_media_image/lightning_media_image.module \lightning_media_image_crop_type_insert()
  3. 8.2 modules/lightning_media_image/lightning_media_image.module \lightning_media_image_crop_type_insert()

Implements hook_ENTITY_TYPE_insert().

File

modules/lightning_media_image/lightning_media_image.module, line 73
Support for image media assets in Lightning.

Code

function lightning_media_image_crop_type_insert($crop_type) {

  // Don't do anything during a config sync.
  if (\Drupal::isConfigSyncing()) {
    return;
  }
  else {

    // Create a dedicated image style to display images using this crop type.

    /** @var \Drupal\crop\CropTypeInterface $crop_type */
    $image_style = ImageStyle::create([
      'name' => 'crop_' . $crop_type
        ->id(),
      'label' => t('Cropped: @crop_type', [
        '@crop_type' => $crop_type
          ->label(),
      ]),
    ]);
    $image_style
      ->addImageEffect([
      'id' => 'crop_crop',
      'data' => [
        'crop_type' => $crop_type
          ->id(),
      ],
    ]);
    $image_style
      ->save();
  }
}