Verified Commit 1e0eaec1 authored by Dave Long's avatar Dave Long
Browse files

fix: #2865710 Dependencies from only one instance of a widget are used in display modes

By: hchonov
By: dcam
By: larowlan
By: jofitz
By: heatherwoz
By: Adev22
By: hctom
By: acbramley
By: bhanu951
By: smustgrave
By: james.williams
By: james.nugent7
By: berdir
By: quietone
(cherry picked from commit d496db02)
parent cdd48761
Loading
Loading
Loading
Loading
+1 −1
Changes for core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -355,7 +355,7 @@ public function getPluginCollections() {
    $configurations = [];
    foreach ($this->getComponents() as $field_name => $configuration) {
      if (!empty($configuration['type']) && ($field_definition = $this->getFieldDefinition($field_name))) {
        $configurations[$configuration['type']] = $configuration + [
        $configurations[$field_name] = $configuration + [
          'field_definition' => $field_definition,
          'form_mode' => $this->mode,
        ];
+1 −1
Changes for core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ public function getPluginCollections() {
    $configurations = [];
    foreach ($this->getComponents() as $field_name => $configuration) {
      if (!empty($configuration['type']) && ($field_definition = $this->getFieldDefinition($field_name))) {
        $configurations[$configuration['type']] = $configuration + [
        $configurations[$field_name] = $configuration + [
          'field_definition' => $field_definition,
          'view_mode' => $this->originalMode,
        ];
+15 −0
Changes for core/modules/field/field.post_update.php: 15 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
 * Post update functions for Field module.
 */

use Drupal\Core\Config\Entity\ConfigEntityUpdater;
use Drupal\Core\Site\Settings;
use Drupal\Core\StringTranslation\TranslatableMarkup;

@@ -20,6 +21,20 @@ function field_removed_post_updates(): array {
  ];
}

/**
 * Recalculate entity form display dependencies.
 */
function field_post_update_recalculate_entity_form_display_dependencies(?array &$sandbox = NULL): void {
  \Drupal::classResolver(ConfigEntityUpdater::class)->update($sandbox, 'entity_form_display');
}

/**
 * Recalculate entity view display dependencies.
 */
function field_post_update_recalculate_entity_view_display_dependencies(?array &$sandbox = NULL): void {
  \Drupal::classResolver(ConfigEntityUpdater::class)->update($sandbox, 'entity_view_display');
}

/**
 * Removes the purge_batch_size config.
 */
+55.1 KiB

File added.

Preview size limit exceeded, changes collapsed.

+23 −0
Changes for core/modules/field/tests/modules/field_dynamic_dependencies_test/config/schema/field_dynamic_dependencies_test.schema.yml: 23 added lines, 0 removed lines.
Original line number Diff line number Diff line
field.value.test_field_dynamic_dependencies:
  type: mapping
  label: Default value
  mapping:
    value:
      type: label
      label: Value

field.formatter.settings.test_field_dynamic_dependencies:
  type: mapping
  label: 'Field test dynamic dependencies'
  mapping:
    dependent_module:
      type: string
      label: 'Dependent module'

field.widget.settings.test_field_dynamic_dependencies:
  type: mapping
  label: 'Test field dynamic dependencies'
  mapping:
    dependent_module:
      type: string
      label: 'Dependent module'
Loading