diff --git a/src/Entity/FacetSource.php b/src/Entity/FacetSource.php index 2c9b11d..6fd3ec3 100644 --- a/src/Entity/FacetSource.php +++ b/src/Entity/FacetSource.php @@ -127,4 +127,26 @@ class FacetSource extends ConfigEntityBase implements FacetSourceInterface { $this->breadcrumb = $settings; } + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + parent::calculateDependencies(); + + $entityStorage = \Drupal::entityTypeManager() + ->getStorage('facets_facet'); + + $id = explode('__', $this->id(), 2); + $id = $id[0] . ':' . $id[1]; + $facet_ids = $entityStorage + ->getQuery() + ->condition('facet_source_id', $id) + ->execute(); + foreach ($entityStorage->loadMultiple($facet_ids) as $item) { + $this->addDependency($item->getConfigDependencyKey(), $item->getConfigDependencyName()); + } + + return $this; + } + }