/**
* Gets crop entity for the image.
*
- * @param ImageInterface $image
+ * @param \Drupal\Core\Image\ImageInterface $image
* Image object.
*
* @return \Drupal\Core\Entity\EntityInterface|\Drupal\crop\CropInterface|false
* {@inheritdoc}
*/
public function transformDimensions(array &$dimensions, $uri) {
- /** @var \Drupal\Core\Image\Image $image */
- $image = $this->imageFactory->get($uri);
-
- /** @var \Drupal\crop\CropInterface $crop */
- $crop = $this->getCrop($image);
+ $crop = Crop::findCrop($uri, $this->configuration['crop_type']);
if (!$crop instanceof CropInterface) {
return;
}
$dimensions['height'] = $size['height'];
}
+ /**
+ * {@inheritdoc}
+ */
+ public function calculateDependencies() {
+ $dependencies = parent::calculateDependencies();
+
+ if (isset($this->configuration['crop_type']) && $crop_type = $this->typeStorage->load($this->configuration['crop_type'])) {
+ $dependencies[$crop_type->getConfigDependencyKey()] = [$crop_type->getConfigDependencyName()];
+ }
+
+ return $dependencies;
+ }
+
}