diff --git a/css/layout-paragraphs-widget.css b/css/layout-paragraphs-widget.css index 0f826938cb04941f550b7bf8aa6a1a51b0f27a70..4826d16d49efafcc1f0176738781680ba47d9724 100644 --- a/css/layout-paragraphs-widget.css +++ b/css/layout-paragraphs-widget.css @@ -692,7 +692,7 @@ button.layout-paragraphs-add-content__toggle.active { position: absolute; top: 0; left: 50%; - padding: 0; + padding: 26px 0 0 0; margin: auto; font-style: italic; font-weight: normal !important; diff --git a/src/Plugin/Field/FieldWidget/LayoutParagraphsWidget.php b/src/Plugin/Field/FieldWidget/LayoutParagraphsWidget.php index d5490ebca23cbb3081769951f74def349450795b..8dee72d67f696dd6f8e195ed879356133a37adc9 100644 --- a/src/Plugin/Field/FieldWidget/LayoutParagraphsWidget.php +++ b/src/Plugin/Field/FieldWidget/LayoutParagraphsWidget.php @@ -284,7 +284,8 @@ class LayoutParagraphsWidget extends WidgetBase implements ContainerFactoryPlugi $preview['#attributes']['class'][] = Html::cleanCssIdentifier($entity->uuid() . '-preview'); } - $show_labels = $this->config->get('layout_paragraphs.settings')->get('show_paragraph_labels'); + $show_paragraphs_labels = $this->config->get('layout_paragraphs.settings')->get('show_paragraph_labels'); + $show_layout_labels = $this->config->get('layout_paragraphs.settings')->get('show_layout_labels'); $element = [ '#widget_item' => TRUE, @@ -362,7 +363,7 @@ class LayoutParagraphsWidget extends WidgetBase implements ContainerFactoryPlugi '#element_parents' => $parents, ], ], - 'label' => $show_labels ? [ + 'label' => $show_paragraphs_labels ? [ '#type' => 'label', '#title' => $entity->getParagraphType()->label, '#attributes' => ['class' => ['paragraph-type-label']], @@ -373,6 +374,18 @@ class LayoutParagraphsWidget extends WidgetBase implements ContainerFactoryPlugi if ($layout_instance) { $element['#layout_instance'] = $layout_instance; $element['#attributes']['class'][] = 'layout-paragraphs-layout'; + if ($show_layout_labels) { + $label = $layout_instance->getPluginDefinition() ? $layout_instance->getPluginDefinition() + ->getLabel() + ->__toString() : []; + $element['label'] = [ + '#type' => 'label', + '#title' => $label, + '#title_display' => $label, + '#attributes' => ['class' => ['paragraph-layout-label']], + ]; + } + foreach ($layout_instance->getPluginDefinition()->getRegionNames() as $region_name) { $element['preview']['regions'][$region_name] = [ '#attributes' => [