Skip to content
Snippets Groups Projects
Commit 4be368fe authored by catch's avatar catch
Browse files

Revert "Issue #3056652 by yogeshmpawar, mashermike, aalin, ranjith_kumar_k_u:...

Revert "Issue #3056652 by yogeshmpawar, mashermike, aalin, ranjith_kumar_k_u: Link options attributes removed on save"

This reverts commit b9942ab2.

(cherry picked from commit a75c1cac)
parent a8782f92
No related branches found
No related tags found
23 merge requests!8506Draft: Issue #3456536 by ibrahim tameme,!5646Issue #3350972 by nod_: [random test failure]...,!5600Issue #3350972 by nod_: [random test failure]...,!5343Issue #3305066 by quietone, Rename RedirectLeadingSlashesSubscriber,!3603#ISSUE 3346218 Add a different message on edit comment,!3555Issue #2473873: Views entity operations lack cacheability support, resulting in incorrect dropbuttons,!3494Issue #3327018 by Spokje, longwave, xjm, mondrake: Update PHPStan to 1.9.3 and...,!3410Issue #3340128: UserLoginForm::submitForm has some dead code,!3389Issue #3325184 by Spokje, andypost, xjm, smustgrave: $this->configFactory is...,!3381Issue #3332363: Refactor Claro's menus-and-lists stylesheet,!3307Issue #3326193: CKEditor 5 can grow past the viewport when there is a lot of content,!3236Issue #3332419: Refactor Claro's messages stylesheet,!3231Draft: Issue #3049525 by longwave, fougere, larowlan, kim.pepper, AaronBauman, Wim...,!3212Issue #3294003: Refactor Claro's entity-meta stylesheet,!3194Issue #3330981: Fix PHPStan L1 error "Relying on entity queries to check access by default is deprecated...",!3143Issue #3313342: [PHP 8.1] Deprecated function: strpos(): Passing null to parameter #1 LayoutBuilderUiCacheContext.php on line 28,!3024Issue #3307509: Empty option for views bulk form,!2972Issue #1845004: Replace custom password hashing library with PHP 5.5 password_hash(),!2719Issue #3110137: Remove Classy from core.,!2688Issue #3261452: [PP-1] Remove tracker module from core,!2437Issue #3238257 by hooroomoo, Wim Leers: Fragment link pointing to <textarea>...,!2296Issue #3100732: Allow specifying `meta` data on JSON:API objects,!1626Issue #3256642: Make life better for database drivers that extend another database driver
......@@ -286,7 +286,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
// Exposing the attributes array in the widget is left for alternate and more
// advanced field widgets.
$element['options']['attributes'] = [
$element['attributes'] = [
'#type' => 'value',
'#tree' => TRUE,
'#value' => !empty($items[$delta]->options['attributes']) ? $items[$delta]->options['attributes'] : [],
......
......@@ -841,78 +841,6 @@ public function testNoLinkUri() {
$this->assertStringContainsString($expected_link, $output);
}
/**
* Test attributes preserved on save.
*
* Make sure that attributes are retained when the link is saved via the UI.
*/
public function testAttributesOnLink() {
$field_name = mb_strtolower($this->randomMachineName());
$this->fieldStorage = FieldStorageConfig::create([
'field_name' => $field_name,
'entity_type' => 'entity_test',
'type' => 'link',
'cardinality' => 1,
]);
$this->fieldStorage->save();
FieldConfig::create([
'field_storage' => $this->fieldStorage,
'label' => 'Read more about this entity',
'bundle' => 'entity_test',
'settings' => [
'title' => DRUPAL_OPTIONAL,
'link_type' => LinkItemInterface::LINK_INTERNAL,
],
])->save();
$this->container->get('entity_type.manager')
->getStorage('entity_form_display')
->load('entity_test.entity_test.default')
->setComponent($field_name, [
'type' => 'link_default',
])
->save();
EntityViewDisplay::create([
'targetEntityType' => 'entity_test',
'bundle' => 'entity_test',
'mode' => 'full',
'status' => TRUE,
])->setComponent($field_name, [
'type' => 'link',
])
->save();
// Test a link with attributes.
$edit = [
"{$field_name}[0][title]" => 'Link with attributes.',
"{$field_name}[0][uri]" => '<front>',
];
$this->drupalGet('entity_test/add');
$this->submitForm($edit, t('Save'));
preg_match('|entity_test/manage/(\d+)|', $this->getUrl(), $match);
$id = $match[1];
$entity = EntityTest::load($id);
$field = $entity->get($field_name)->first();
$attribute_value = mb_strtolower($this->randomMachineName());
$field->set('options', ['attributes' => ['custom-attribute' => $attribute_value]]);
$entity->save();
$output = $this->renderTestEntity($id);
$this->assertStringContainsString($attribute_value, $output);
$this->drupalGet($entity->toUrl('edit-form'));
$this->submitForm([], 'Save');
$output = $this->renderTestEntity($id);
$this->assertStringContainsString($attribute_value, $output);
}
/**
* Renders a test_entity and returns the output.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment