diff --git a/core/config/schema/core.entity.schema.yml b/core/config/schema/core.entity.schema.yml index e846ca4..7f24836 100644 --- a/core/config/schema/core.entity.schema.yml +++ b/core/config/schema/core.entity.schema.yml @@ -378,6 +378,3 @@ field.formatter.settings.entity_reference_inline_settings: label: label: 'Target field label visibility setting' type: string - show_basefields: - type: boolean - label: 'Whether basefields should be visible on the formatter settings' diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceInlineSettingsFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceInlineSettingsFormatter.php index b87d62b..88db08c 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceInlineSettingsFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceInlineSettingsFormatter.php @@ -127,7 +127,6 @@ public static function defaultSettings() { 'type' => '', 'settings' => [], 'label' => 'above', - 'show_basefields' => FALSE, ]; } @@ -161,23 +160,20 @@ public function viewElements(FieldItemListInterface $items, $langcode) { /** * Gets a list of supported fields. * - * @param bool $show_basefields - * If FALSE, all basefields except for the label will be skipped. - * * @return array * List of fields that are supported keyed by field machine name. */ - protected function getAvailableFieldNames($show_basefields) { + protected function getAvailableFieldNames() { $entity_type_id = $this->fieldDefinition->getSetting('target_type'); - // We always show the entity label as an option to be selected. $entity_type = $this->entityTypeManager->getDefinition($entity_type_id); + // We always show the entity label as an option to be selected. $label_key = $entity_type->getKey('label'); $field_names = [$label_key => $this->entityFieldManager->getBaseFieldDefinitions($entity_type_id)[$label_key]->getLabel()]; $target_bundles = $this->fieldDefinition->getSetting('handler_settings')['target_bundles'] === NULL ? array_keys($this->entityTypeBundleInfo->getBundleInfo($entity_type_id)) : $this->fieldDefinition->getSetting('handler_settings')['target_bundles']; foreach ($target_bundles as $value) { $bundle_field_names = array_map( - function (FieldDefinitionInterface $field_definition) use ($show_basefields) { - if ($show_basefields || !$field_definition->getFieldStorageDefinition()->isBaseField()) { + function (FieldDefinitionInterface $field_definition) { + if ($field_definition->isDisplayConfigurable('view')) { return $field_definition->getLabel(); } }, @@ -291,8 +287,7 @@ public static function rebuildSubmit(array $form, FormStateInterface $form_state public function settingsForm(array $form, FormStateInterface $form_state) { $form = parent::settingsForm($form, $form_state); $target_entity_type_id = $this->fieldDefinition->getSetting('target_type'); - $show_basefields = $this->getSettingFromFormState($form_state, 'show_basefields'); - $field_name_options = $this->getAvailableFieldNames($show_basefields); + $field_name_options = $this->getAvailableFieldNames(); $field_storage_definitions = $this->entityFieldManager->getFieldStorageDefinitions($target_entity_type_id); // Field on the target entity this formatter is currently displaying. $selected_field_name = $this->getSettingFromFormState($form_state, 'field_name'); @@ -301,12 +296,6 @@ public function settingsForm(array $form, FormStateInterface $form_state) { $selected_field_name = key($field_name_options); } $field_storage = $field_storage_definitions[$selected_field_name]; - // If the field selected is a basefield but the show_basefields has just - // been unchecked, we need to reset the defaults. - if (!$show_basefields && $field_storage->isBaseField()) { - $selected_field_name = key($field_name_options); - $field_storage = $field_storage_definitions[$selected_field_name]; - } $form['#prefix'] = '
'; $form['#suffix'] = '
'; @@ -325,20 +314,6 @@ public function settingsForm(array $form, FormStateInterface $form_state) { '#executes_submit_callback' => TRUE, ]; - $form['show_basefields'] = [ - '#type' => 'checkbox', - '#title' => $this->t('Show all fields'), - '#description' => $this->t('Allows default fields to be selected, such as author, language, creation date, etc.'), - '#default_value' => $show_basefields, - '#ajax' => [ - 'callback' => [static::class, 'onShowBasefieldsChange'], - 'wrapper' => 'field-formatter-ajax', - 'method' => 'replace', - ], - '#submit' => [[static::class, 'rebuildSubmit']], - '#executes_submit_callback' => TRUE, - ]; - $form['label'] = [ '#type' => 'select', '#title' => $this->t('Label'), @@ -448,8 +423,7 @@ public function settingsSummary() { $summary[] = $this->t('Field %field_name displayed.', ['%field_name' => $field_name]); } else { - $show_basefields = $this->getSetting('show_basefields'); - $field_name_options = $this->getAvailableFieldNames($show_basefields); + $field_name_options = $this->getAvailableFieldNames(); $target_entity_type_id = $this->fieldDefinition->getSetting('target_type'); $field_storage_definitions = $this->entityFieldManager->getFieldStorageDefinitions($target_entity_type_id); $field_name = key($field_name_options);