From 7962d9526ec966c0b5dbe62346354ffc99a0764d Mon Sep 17 00:00:00 2001 From: "christian.wiedemann" <7688-Christian.wiedemann@users.noreply.drupalcode.org> Date: Fri, 20 Dec 2024 13:35:11 +0000 Subject: [PATCH] Issue #3490872 by christian.wiedemann, pdureau, just_like_good_vibes: Remove temporary compatibility layers --- .../Controller/UIPatternsDevelDeprecate.php | 39 ------------------- .../ui_patterns_devel.info.yml | 9 ----- .../ui_patterns_devel.links.menu.yml | 5 --- .../ui_patterns_devel.links.task.yml | 9 ----- .../ui_patterns_devel.routing.yml | 24 ------------ .../src/Element/ComponentElementAlter.php | 5 +-- .../src/Controller/LibraryController.php | 15 ++----- .../src/Element/ComponentElementAlter.php | 5 +-- .../src/StoryPluginManager.php | 33 ---------------- src/Template/TwigExtension.php | 27 ------------- 10 files changed, 5 insertions(+), 166 deletions(-) delete mode 100644 modules/ui_patterns_devel/src/Controller/UIPatternsDevelDeprecate.php delete mode 100644 modules/ui_patterns_devel/ui_patterns_devel.info.yml delete mode 100644 modules/ui_patterns_devel/ui_patterns_devel.links.menu.yml delete mode 100644 modules/ui_patterns_devel/ui_patterns_devel.links.task.yml delete mode 100644 modules/ui_patterns_devel/ui_patterns_devel.routing.yml diff --git a/modules/ui_patterns_devel/src/Controller/UIPatternsDevelDeprecate.php b/modules/ui_patterns_devel/src/Controller/UIPatternsDevelDeprecate.php deleted file mode 100644 index 969e49fd..00000000 --- a/modules/ui_patterns_devel/src/Controller/UIPatternsDevelDeprecate.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Drupal\ui_patterns_devel\Controller; - -use Drupal\Core\Controller\ControllerBase; - -/** - * Returns responses for UI Patterns Devel routes. - * - * @codeCoverageIgnore - * @deprecated in ui_patterns:2.0.0-beta5 and is removed from ui_patterns:2.0.0-rc1. Replaced by sdc_devel. - * @see https://www.drupal.org/project/ui_patterns/issues/3489973 - */ -final class UIPatternsDevelDeprecate extends ControllerBase { - - /** - * Builds the response. - * - * @return array - * The built response array. - */ - public function __invoke(): array { - $link = 'https://www.drupal.org/project/sdc_devel'; - return [ - '#type' => 'html_tag', - '#tag' => 'p', - '#value' => $this->t('UI Patterns Devel has been replaced by standalone module <a href="@link">SDC Devel</a>, and will be removed before UI Patterns 2.0.0-rc1, please uninstall and replace this module.', ['@link' => $link]), - '#attributes' => [ - 'class' => [ - 'messages', - 'messages--warning', - ], - ], - ]; - } - -} diff --git a/modules/ui_patterns_devel/ui_patterns_devel.info.yml b/modules/ui_patterns_devel/ui_patterns_devel.info.yml deleted file mode 100644 index 3659d65c..00000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.info.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: UI Patterns Devel -type: module -description: Replaced by the sdc_devel standalone module. -core_version_requirement: ^10.3 || ^11 -package: Development -dependencies: - - ui_patterns:ui_patterns -lifecycle: deprecated -lifecycle_link: https://www.drupal.org/project/ui_patterns/issues/3489973 diff --git a/modules/ui_patterns_devel/ui_patterns_devel.links.menu.yml b/modules/ui_patterns_devel/ui_patterns_devel.links.menu.yml deleted file mode 100644 index ffbaa7de..00000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.links.menu.yml +++ /dev/null @@ -1,5 +0,0 @@ -ui_patterns_devel.twig_validator: - title: UI components - description: Components definitions and templates validation, provided by UI Patterns. - parent: system.admin_reports - route_name: ui_patterns_devel.twig_validator diff --git a/modules/ui_patterns_devel/ui_patterns_devel.links.task.yml b/modules/ui_patterns_devel/ui_patterns_devel.links.task.yml deleted file mode 100644 index 6dae38c8..00000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.links.task.yml +++ /dev/null @@ -1,9 +0,0 @@ -ui_patterns_devel.overview: - route_name: ui_patterns_devel.twig_validator - title: "Overview" - base_route: ui_patterns_devel.twig_validator - -ui_patterns_devel.overview_details: - route_name: ui_patterns_devel.twig_validator.details - title: "Details" - base_route: ui_patterns_devel.twig_validator diff --git a/modules/ui_patterns_devel/ui_patterns_devel.routing.yml b/modules/ui_patterns_devel/ui_patterns_devel.routing.yml deleted file mode 100644 index 7c2034de..00000000 --- a/modules/ui_patterns_devel/ui_patterns_devel.routing.yml +++ /dev/null @@ -1,24 +0,0 @@ -ui_patterns_devel.twig_validator: - path: "/admin/reports/ui-components" - defaults: - _title: "Components status report" - _controller: '\Drupal\ui_patterns_devel\Controller\UIPatternsDevelDeprecate' - requirements: - _permission: "access components page+access site reports" - -ui_patterns_devel.twig_validator.details: - path: "/admin/reports/ui-components/details" - defaults: - _title: "Components status report" - _controller: '\Drupal\ui_patterns_devel\Controller\UIPatternsDevelDeprecate' - requirements: - _permission: "access components page+access site reports" - -ui_patterns_devel.twig_validator.component: - path: "/admin/reports/ui-components/component/{component_id}" - defaults: - _title: "Components status report" - _controller: '\Drupal\ui_patterns_devel\Controller\UIPatternsDevelDeprecate' - component_id: "" - requirements: - _permission: "access components page+access site reports" diff --git a/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php b/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php index 483b2ce5..41829eaf 100644 --- a/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php +++ b/modules/ui_patterns_legacy/src/Element/ComponentElementAlter.php @@ -67,10 +67,7 @@ class ComponentElementAlter implements TrustedCallbackInterface { */ protected function addPreviewStory(array $element): array { $component = $this->componentPluginManager->getDefinition($element["#component"]); - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before 2.0.0 - // release. - $component = $this->storyPluginManager->mergeStories($component['id'], $component); + $component['stories'] = $this->storyPluginManager->getComponentStories($component['id']); if (!isset($component["stories"])) { return $element; } diff --git a/modules/ui_patterns_library/src/Controller/LibraryController.php b/modules/ui_patterns_library/src/Controller/LibraryController.php index 24a4fca0..9797f69b 100644 --- a/modules/ui_patterns_library/src/Controller/LibraryController.php +++ b/modules/ui_patterns_library/src/Controller/LibraryController.php @@ -66,10 +66,7 @@ class LibraryController extends ControllerBase { public function single(string $provider, string $machineName) { $id = $provider . ":" . $machineName; $definition = $this->componentPluginManager->getDefinition($id); - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before 2.0.0 - // release. - $definition = $this->storyPluginManager->mergeStories($id, $definition, TRUE); + $definition['stories'] = $this->storyPluginManager->getComponentStories($id); return [ '#theme' => 'ui_patterns_single_page', '#component' => $definition, @@ -106,10 +103,7 @@ class LibraryController extends ControllerBase { foreach ($grouped_definitions as $group_id => $definitions) { foreach ($definitions as $definition_id => $definition) { if ($definition['provider'] == $provider) { - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before - // 2.0.0 release. - $definition = $this->storyPluginManager->mergeStories($definition_id, $definition, TRUE); + $definition['stories'] = $this->storyPluginManager->getComponentStories($definition_id); $groups[$group_id][$definition_id] = $definition; } } @@ -131,10 +125,7 @@ class LibraryController extends ControllerBase { $grouped_definitions = $this->componentPluginManager->getGroupedDefinitions(); foreach ($grouped_definitions as $group_id => $definitions) { foreach ($definitions as $definition_id => $definition) { - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before - // 2.0.0 release. - $definition = $this->storyPluginManager->mergeStories($definition_id, $definition, TRUE); + $definition['stories'] = $this->storyPluginManager->getComponentStories($definition_id); $groups[$group_id][$definition_id] = $definition; } } diff --git a/modules/ui_patterns_library/src/Element/ComponentElementAlter.php b/modules/ui_patterns_library/src/Element/ComponentElementAlter.php index 1cd797ff..04ee3c5e 100644 --- a/modules/ui_patterns_library/src/Element/ComponentElementAlter.php +++ b/modules/ui_patterns_library/src/Element/ComponentElementAlter.php @@ -55,10 +55,7 @@ class ComponentElementAlter implements TrustedCallbackInterface { } $story_id = $element["#story"]; $component = $this->componentPluginManager->getDefinition($element["#component"]); - // ::mergeStories() is a temporary compatibility layer. - // @todo Replace by StoryPluginManager::getComponentStories() before 2.0.0 - // release. - $component = $this->storyPluginManager->mergeStories($component['id'], $component); + $component["stories"] = $this->storyPluginManager->getComponentStories($element["#component"]); if (!isset($component["stories"])) { return $element; } diff --git a/modules/ui_patterns_library/src/StoryPluginManager.php b/modules/ui_patterns_library/src/StoryPluginManager.php index 367b5f8b..84e5ec44 100644 --- a/modules/ui_patterns_library/src/StoryPluginManager.php +++ b/modules/ui_patterns_library/src/StoryPluginManager.php @@ -168,39 +168,6 @@ final class StoryPluginManager extends DefaultPluginManager { return (bool) preg_match($regex, $component_id); } - /** - * Merge stories (temporary compatibility layer). - * - * Initially, the stories were authored inside the component definition. - * They are now they own plugins with their own definition files. - * To not break the projects using the previous format, we are merging - * everything. But this is a temporary solution. - */ - public function mergeStories(string $component_id, array $definition, bool $display_warning = FALSE): array { - $legacy_stories = $definition["stories"] ?? []; - if (!empty($legacy_stories) && $display_warning) { - $this->messenger->addWarning( - t("@component is still using the obsolete stories format. Move the stories from the component definition to their own files.", - ["@component" => $component_id]) - ); - } - $definition["stories"] = array_merge( - $legacy_stories, - $this->getComponentStories($component_id), - ); - // Also, we went from 'title' to 'name' in order to increase compatibility - // with sdc_styleguide. See #3464909. - foreach ($definition["stories"] as $story_id => $story) { - if (!isset($story["name"]) && isset($story["title"])) { - $definition["stories"][$story_id]["name"] = $story["title"]; - } - if (isset($story["name"]) && !isset($story["title"])) { - $definition["stories"][$story_id]["title"] = $story["name"]; - } - } - return $definition; - } - /** * {@inheritdoc} */ diff --git a/src/Template/TwigExtension.php b/src/Template/TwigExtension.php index e2ed184a..10e14dac 100644 --- a/src/Template/TwigExtension.php +++ b/src/Template/TwigExtension.php @@ -59,8 +59,6 @@ class TwigExtension extends AbstractExtension { */ public function getFunctions() { return [ - // @todo Remove component() before 2.0.0 release. - new TwigFunction('component', [$this, 'renderComponent']), // For ComponentNodeVisitorBeforeSdc. new TwigFunction('_ui_patterns_normalize_props', [$this, 'normalizeProps'], ['needs_context' => TRUE]), // For ComponentNodeVisitorAfterSdc. @@ -78,31 +76,6 @@ class TwigExtension extends AbstractExtension { ]; } - /** - * Render given component. - * - * @param string $component_id - * Component ID. - * @param array $slots - * Pattern slots. - * @param array $props - * Pattern props. - * - * @return array - * Pattern render array. - * - * @see \Drupal\Core\Theme\Element\ComponentElement - */ - public function renderComponent(string $component_id, array $slots = [], array $props = []) { - $this->messenger->addWarning("component() Twig function is deprecated in favor of include() function and will be removed before 2.0.0."); - return [ - '#type' => 'component', - '#component' => $component_id, - '#slots' => $slots, - '#props' => $props, - ]; - } - /** * Normalize props (and slots). * -- GitLab