Config action to set a third party setting of a display (form or view) component

Created on 24 July 2025, 4 months ago

Problem/Motivation

At the moment it is possible to set components with config action setComponent/s in entity view/form displays. And it is possible to set 3rd party settings of the config or config entity with setThirdPartySetting/s config action. But it would be nice to have an action that can set third party setting of the view/form display component. Yes, it is possible to pass third_party_settings property in setComponent, but that would mean that the complete component will be overwritten.

For features like "Field widget actions" from AI module, or from any other feature that sets 3rd party settings to widgets or field formatters this will be very useful, as it is not always possible (or not always needed) to know all the settings for the field widget to set the 3rd party setting.

Proposed resolution

Create a config action setComponentThirdPartySetting that will be applied to Entity View/Form Displays config entities. The parameters should be:
- component/field name: e.g. name
- module the third party setting is provided with: e.g. module
- the settings themselves: e.g. settings

Remaining tasks

Create MR

User interface changes

No

Introduced terminology

Config action to set component's third party settings.

API changes

No

Data model changes

No

Release notes snippet

New config action setComponentThirdPartySetting that will be applied to Entity View/Form Displays config entities to set third party settings for a component. The parameters:
- component/field name: e.g. name
- module the third party setting is provided with: e.g. module
- the settings themselves: e.g. settings

Feature request
Status

Active

Version

11.0 🔥

Component

recipe system

Created by

🇩🇪Germany a.dmitriiev

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @a.dmitriiev
  • 🇺🇸United States thejimbirch Cape Cod, Massachusetts
  • First commit to issue fork.
  • Pipeline finished with Failed
    3 months ago
    Total: 282s
    #584466
  • Pipeline finished with Failed
    3 months ago
    Total: 658s
    #584474
  • 🇮🇳India abhisekmazumdar India

    The failed CI job says something wrong with Drupal\Tests\ckeditor5\FunctionalJavascript\MediaLibrary Not sure if that related to my changes.

    Other then that its open for review.

  • 🇨🇦Canada b_sharpe

    Couple notes on code. Also, I found an odd quirk in which if a field was hidden (disabled), and I add settings, the resulting config had it in both places where as setComponent seems to remove it from hidden when updating, maybe due to the region?

  • Pipeline finished with Failed
    2 months ago
    Total: 156s
    #588084
  • Pipeline finished with Failed
    2 months ago
    Total: 70s
    #588088
  • Pipeline finished with Failed
    2 months ago
    Total: 134s
    #588089
  • Pipeline finished with Failed
    2 months ago
    Total: 368s
    #588207
  • Pipeline finished with Failed
    2 months ago
    #588230
  • Pipeline finished with Success
    2 months ago
    Total: 412s
    #588244
  • 🇮🇳India abhisekmazumdar India

    Thanks @b_sharpe and @admitriiev for the suggestion. I have update the MR and also added test coverage.

  • Pipeline finished with Failed
    2 months ago
    #590754
  • Pipeline finished with Success
    2 months ago
    Total: 526s
    #590756
  • 🇮🇳India abhisekmazumdar India

    I updated the MR and added a comment.

  • 🇨🇦Canada b_sharpe

    Code looks good and working for me.

  • 🇺🇸United States thejimbirch Cape Cod, Massachusetts

    A lot of the recipes folks are looking to build out for DrupalCon Vienna could use this so it would be great if it could be backported to 11.2 also.

  • 🇺🇸United States thejimbirch Cape Cod, Massachusetts
  • Pipeline finished with Success
    about 2 months ago
    Total: 564s
    #600320
  • Status changed to RTBC about 2 months ago
  • Pipeline finished with Success
    about 2 months ago
    Total: 588s
    #612139
  • Pipeline finished with Canceled
    about 1 month ago
    Total: 197s
    #616206
  • Pipeline finished with Success
    about 1 month ago
    Total: 773s
    #616209
  • Pipeline finished with Success
    about 1 month ago
    Total: 685s
    #620753
  • Pipeline finished with Failed
    22 days ago
    Total: 1195s
    #637383
  • Pipeline finished with Success
    22 days ago
    Total: 794s
    #637455
  • Pipeline finished with Failed
    14 days ago
    Total: 575s
    #645321
  • Pipeline finished with Failed
    9 days ago
    Total: 236s
    #649841
  • Pipeline finished with Failed
    9 days ago
    Total: 155s
    #649881
  • Pipeline finished with Failed
    9 days ago
    Total: 891s
    #650008
  • Pipeline finished with Failed
    9 days ago
    Total: 772s
    #650027
  • Pipeline finished with Failed
    9 days ago
    Total: 649s
    #650060
  • Pipeline finished with Running
    9 days ago
    #650081
  • Pipeline finished with Failed
    9 days ago
    Total: 605s
    #650124
  • Pipeline finished with Failed
    9 days ago
    Total: 859s
    #650336
  • Pipeline finished with Failed
    7 days ago
    Total: 645s
    #652332
  • Pipeline finished with Failed
    7 days ago
    Total: 618s
    #652365
  • Pipeline finished with Success
    7 days ago
    Total: 489s
    #652389
  • Pipeline finished with Running
    7 days ago
    #652408
  • Pipeline finished with Failed
    7 days ago
    Total: 126s
    #652670
  • Pipeline finished with Failed
    7 days ago
    Total: 101s
    #652673
  • Pipeline finished with Failed
    7 days ago
    Total: 765s
    #652676
  • Pipeline finished with Success
    7 days ago
    Total: 987s
    #652709
  • Pipeline finished with Success
    4 days ago
    Total: 839s
    #655314
  • Pipeline finished with Failed
    4 days ago
    Total: 2249s
    #655351
Production build 0.71.5 2024