Skip to content
Snippets Groups Projects
Commit c9271bec authored by christian.wiedemann's avatar christian.wiedemann
Browse files

Merge branch '3490872-2.0.0-rc1-remove-temporary' into '2.0.x'

Remove deprecated stuff

See merge request !295
parents 71cfba73 29f04d24
No related branches found
No related tags found
No related merge requests found
Pipeline #364363 passed
Showing with 0 additions and 166 deletions
<?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',
],
],
];
}
}
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
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
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
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"
......@@ -67,10 +67,6 @@ 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);
if (!isset($component["stories"])) {
return $element;
}
......
......@@ -66,10 +66,6 @@ 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);
return [
'#theme' => 'ui_patterns_single_page',
'#component' => $definition,
......@@ -106,10 +102,6 @@ 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);
$groups[$group_id][$definition_id] = $definition;
}
}
......@@ -131,10 +123,6 @@ 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);
$groups[$group_id][$definition_id] = $definition;
}
}
......
......@@ -55,10 +55,6 @@ 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);
if (!isset($component["stories"])) {
return $element;
}
......
......@@ -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}
*/
......
......@@ -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).
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment