Commit b04d2ac1 authored by git's avatar git Committed by miro_dietiker

Issue #2868155 by lyalyuk, gordon, acrosman, seanB, jOpdebeeck, yasmeensalah,...

Issue #2868155 by lyalyuk, gordon, acrosman, seanB, jOpdebeeck, yasmeensalah, and_daz, Alan D., sgurlt, Berdir, miro_dietiker, Jacine: Add paragraph bundle to widget forms to allow easier editing of paragraph forms
parent be6a91c8
......@@ -359,6 +359,7 @@ class InlineParagraphsWidget extends WidgetBase {
$element += array(
'#type' => 'container',
'#element_validate' => array(array($this, 'elementValidate')),
'#paragraph_type' => $paragraphs_entity->bundle(),
'subform' => array(
'#type' => 'container',
'#parents' => $element_parents,
......
......@@ -445,6 +445,7 @@ class ParagraphsWidget extends WidgetBase {
$element += array(
'#type' => 'container',
'#element_validate' => array(array($this, 'elementValidate')),
'#paragraph_type' => $paragraphs_entity->bundle(),
'subform' => array(
'#type' => 'container',
'#parents' => $element_parents,
......
<?php
namespace Drupal\paragraphs\Tests\Experimental;
/**
* Tests paragraphs experimental alter widget by type.
*
* @group paragraphs
*/
class ParagraphsExperimentalAlterByTypeTest extends ParagraphsExperimentalTestBase {
/**
* Modules to enable.
*
* @var array
*/
public static $modules = [
'paragraphs_test',
];
/**
* Test widget alter based on paragraph type
*/
public function testAlterBasedOnType() {
$this->addParagraphedContentType('paragraphed_test', 'field_paragraphs', 'entity_reference_paragraphs');
$this->loginAsAdmin(['create paragraphed_test content', 'edit any paragraphed_test content']);
// Add a Paragraph type.
$paragraph_type = 'altered_paragraph';
$this->addParagraphsType($paragraph_type);
// Add a text field to the altered_paragraph type.
static::fieldUIAddNewField('admin/structure/paragraphs_type/' . $paragraph_type, 'text', 'Normal title', 'text_long', [], []);
// Check that the form alteration based on Paragraphs type works.
// See paragraphs_test_field_widget_entity_reference_paragraphs_form_alter()
$this->drupalGet('node/add/paragraphed_test');
$this->assertText('Altered title');
}
}
......@@ -41,3 +41,12 @@ function paragraphs_test_paragraph_view(array &$build, ParagraphInterface $entit
$parent_field_name = $entity->get('parent_field_name')->value;
\Drupal::messenger()->addStatus("Parent: $parent_type/$parent_id/$parent_field_name", TRUE);
}
/**
* Implements hook_field_widget_WIDGET_TYPE_form_alter().
*/
function paragraphs_test_field_widget_entity_reference_paragraphs_form_alter(&$element, &$form_state, $context) {
if ($element['#paragraph_type'] == 'altered_paragraph') {
$element['subform']['field_text']['widget'][0]['#title'] = 'Altered title';
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment