Issue #3004738 by NickWilde: Multiple Value Field Doesn't Render Attributes
parent
a92a3693ee
commit
18c57b6f71
|
@ -1606,6 +1606,7 @@ function template_preprocess_field(&$variables, $hook) {
|
||||||
function template_preprocess_field_multiple_value_form(&$variables) {
|
function template_preprocess_field_multiple_value_form(&$variables) {
|
||||||
$element = $variables['element'];
|
$element = $variables['element'];
|
||||||
$variables['multiple'] = $element['#cardinality_multiple'];
|
$variables['multiple'] = $element['#cardinality_multiple'];
|
||||||
|
$variables['attributes'] = $element['#attributes'];
|
||||||
|
|
||||||
if ($variables['multiple']) {
|
if ($variables['multiple']) {
|
||||||
$table_id = Html::getUniqueId($element['#field_name'] . '_values');
|
$table_id = Html::getUniqueId($element['#field_name'] . '_values');
|
||||||
|
|
|
@ -403,11 +403,12 @@ class FormTest extends FieldTestBase {
|
||||||
$this->field['field_name'] = $field_name;
|
$this->field['field_name'] = $field_name;
|
||||||
FieldStorageConfig::create($field_storage)->save();
|
FieldStorageConfig::create($field_storage)->save();
|
||||||
FieldConfig::create($this->field)->save();
|
FieldConfig::create($this->field)->save();
|
||||||
entity_get_form_display($this->field['entity_type'], $this->field['bundle'], 'default')
|
$form = entity_get_form_display($this->field['entity_type'], $this->field['bundle'], 'default')
|
||||||
->setComponent($field_name, [
|
->setComponent($field_name, [
|
||||||
'type' => 'test_field_widget_multiple',
|
'type' => 'test_field_widget_multiple',
|
||||||
])
|
]);
|
||||||
->save();
|
$form->save();
|
||||||
|
$session = $this->assertSession();
|
||||||
|
|
||||||
// Display creation form.
|
// Display creation form.
|
||||||
$this->drupalGet('entity_test/add');
|
$this->drupalGet('entity_test/add');
|
||||||
|
@ -435,6 +436,16 @@ class FormTest extends FieldTestBase {
|
||||||
$this->assertRaw('this field cannot hold more than 4 values', 'Form validation failed.');
|
$this->assertRaw('this field cannot hold more than 4 values', 'Form validation failed.');
|
||||||
// Check that the field values were not submitted.
|
// Check that the field values were not submitted.
|
||||||
$this->assertFieldValues($entity_init, $field_name, [1, 2, 3]);
|
$this->assertFieldValues($entity_init, $field_name, [1, 2, 3]);
|
||||||
|
|
||||||
|
// Check that Attributes are rendered on the multivalue container if it is
|
||||||
|
// a multiple widget form.
|
||||||
|
$form->setComponent($field_name, [
|
||||||
|
'type' => 'entity_reference_autocomplete',
|
||||||
|
])
|
||||||
|
->save();
|
||||||
|
$this->drupalGet('entity_test/manage/' . $id . '/edit');
|
||||||
|
$name = str_replace('_', '-', $field_name);
|
||||||
|
$session->responseContains('data-drupal-selector="edit-' . $name . '"');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -22,7 +22,13 @@
|
||||||
*/
|
*/
|
||||||
#}
|
#}
|
||||||
{% if multiple %}
|
{% if multiple %}
|
||||||
<div class="js-form-item form-item">
|
{%
|
||||||
|
set classes = [
|
||||||
|
'js-form-item',
|
||||||
|
'form-item'
|
||||||
|
]
|
||||||
|
%}
|
||||||
|
<div{{ attributes.addClass(classes) }}>
|
||||||
{{ table }}
|
{{ table }}
|
||||||
{% if description.content %}
|
{% if description.content %}
|
||||||
<div{{ description.attributes.addClass('description') }} >{{ description.content }}</div>
|
<div{{ description.attributes.addClass('description') }} >{{ description.content }}</div>
|
||||||
|
|
|
@ -20,7 +20,13 @@
|
||||||
*/
|
*/
|
||||||
#}
|
#}
|
||||||
{% if multiple %}
|
{% if multiple %}
|
||||||
<div class="js-form-item form-item">
|
{%
|
||||||
|
set classes = [
|
||||||
|
'js-form-item',
|
||||||
|
'form-item'
|
||||||
|
]
|
||||||
|
%}
|
||||||
|
<div{{ attributes.addClass(classes) }}>
|
||||||
{{ table }}
|
{{ table }}
|
||||||
{% if description.content %}
|
{% if description.content %}
|
||||||
<div{{ description.attributes.addClass('description') }} >{{ description.content }}</div>
|
<div{{ description.attributes.addClass('description') }} >{{ description.content }}</div>
|
||||||
|
|
|
@ -19,8 +19,15 @@
|
||||||
* @see template_preprocess_field_multiple_value_form()
|
* @see template_preprocess_field_multiple_value_form()
|
||||||
*/
|
*/
|
||||||
#}
|
#}
|
||||||
|
|
||||||
{% if multiple %}
|
{% if multiple %}
|
||||||
<div class="js-form-item form-item">
|
{%
|
||||||
|
set classes = [
|
||||||
|
'js-form-item',
|
||||||
|
'form-item'
|
||||||
|
]
|
||||||
|
%}
|
||||||
|
<div{{ attributes.addClass(classes) }}>
|
||||||
{{ table }}
|
{{ table }}
|
||||||
{% if description.content %}
|
{% if description.content %}
|
||||||
<div{{ description.attributes.addClass('description') }} >{{ description.content }}</div>
|
<div{{ description.attributes.addClass('description') }} >{{ description.content }}</div>
|
||||||
|
|
Loading…
Reference in New Issue