From a75c1cacc1b61a1e1450ddcde163fc95b6914a30 Mon Sep 17 00:00:00 2001 From: catch <catch@35733.no-reply.drupal.org> Date: Mon, 1 Aug 2022 09:42:17 +0900 Subject: [PATCH] Revert "Issue #3056652 by yogeshmpawar, mashermike, aalin, ranjith_kumar_k_u: Link options attributes removed on save" This reverts commit b9942ab28175908dce2a96a615bb2b756f016f8d. --- .../Plugin/Field/FieldWidget/LinkWidget.php | 2 +- .../tests/src/Functional/LinkFieldTest.php | 72 ------------------- 2 files changed, 1 insertion(+), 73 deletions(-) diff --git a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php index 28e6fa09126c..3d6d80f622b2 100644 --- a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php +++ b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php @@ -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'] : [], diff --git a/core/modules/link/tests/src/Functional/LinkFieldTest.php b/core/modules/link/tests/src/Functional/LinkFieldTest.php index a23ad80e6f73..be98be91f3be 100644 --- a/core/modules/link/tests/src/Functional/LinkFieldTest.php +++ b/core/modules/link/tests/src/Functional/LinkFieldTest.php @@ -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. * -- GitLab