From b815dacb4feca11170aabf38a23c274b4fc6f3f2 Mon Sep 17 00:00:00 2001 From: Paul Weidner Date: Mon, 9 Oct 2023 11:41:28 -0700 Subject: [PATCH] Add cacheability to import index pages --- .../modules/csv/src/Controller/CsvImportController.php | 7 ++++++- modules/core/import/src/Controller/ImportController.php | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/core/import/modules/csv/src/Controller/CsvImportController.php b/modules/core/import/modules/csv/src/Controller/CsvImportController.php index 21474215b..5563526d3 100644 --- a/modules/core/import/modules/csv/src/Controller/CsvImportController.php +++ b/modules/core/import/modules/csv/src/Controller/CsvImportController.php @@ -113,10 +113,14 @@ class CsvImportController extends ControllerBase { ['callable' => 'menu.default_tree_manipulators:generateIndexAndSort'], ]; $tree = $this->menuLinkTree->transform($tree, $manipulators); + + // Start cacheability with migrate_plus migration config entity list tag. $tree_access_cacheability = new CacheableMetadata(); + $tree_access_cacheability->addCacheTags($this->entityTypeManager()->getStorage('migration')->getEntityType()->getListCacheTags()); + $links = []; foreach ($tree as $element) { - $tree_access_cacheability = $tree_access_cacheability->merge(CacheableMetadata::createFromObject($element->access)); + $tree_access_cacheability->addCacheableDependency($element->access); // Only render accessible links. if (!$element->access->isAllowed()) { @@ -145,6 +149,7 @@ class CsvImportController extends ControllerBase { '#markup' => $this->t('You do not have any importers.'), ]; } + $tree_access_cacheability->applyTo($output); return $output; } diff --git a/modules/core/import/src/Controller/ImportController.php b/modules/core/import/src/Controller/ImportController.php index 969157e30..83f6c3ac7 100644 --- a/modules/core/import/src/Controller/ImportController.php +++ b/modules/core/import/src/Controller/ImportController.php @@ -59,10 +59,13 @@ class ImportController extends ControllerBase { ['callable' => 'menu.default_tree_manipulators:generateIndexAndSort'], ]; $tree = $this->menuLinkTree->transform($tree, $manipulators); + + // Start cacheability for indexer list. $tree_access_cacheability = new CacheableMetadata(); + $links = []; foreach ($tree as $element) { - $tree_access_cacheability = $tree_access_cacheability->merge(CacheableMetadata::createFromObject($element->access)); + $tree_access_cacheability->addCacheableDependency($element->access); // Only render accessible links. if (!$element->access->isAllowed()) { @@ -91,6 +94,7 @@ class ImportController extends ControllerBase { '#markup' => $this->t('You do not have any importers.'), ]; } + $tree_access_cacheability->applyTo($output); return $output; }