Skip to content

Search-backed pickers for reference and media fields in generated forms #2621

Closed

Description

@pournasserian

Part of #2426 (F-FRM). Third slice: pickers for reference and media fields (FRM-01), backed by search (ISearch, #2566 and #2606) and the media library (#2543).

Scope

  • Admin: EntryPicker and MediaPicker, interactive islands inside the static generated form.
    • Each keeps the chosen id in a hidden input named like the other fields (Form.Values[field]), so the form posts as before and the save path is unchanged.
    • The entry picker searches the reference's target type as the person types (SearchQuery with that type, at most 10 hits). Each hit shows the entity's or entry's first text field, its state and a short id. The current choice shows the same way.
    • The media picker filters the library's assets by file name and folder, with a preview for images.
    • Results are a listbox the arrow keys move through. Enter chooses, Escape clears the results, and a Clear button empties the field. Both work by keyboard alone (UX-02).
  • Until the circuit attaches, and when it is lost, the prerendered select from Generated forms for content types, saved as a person's change set #2605 is shown. A form posted then still works.
  • Strings through IStringLocalizer, logical utilities only, components from Components/Ui only. The axe check still passes on the form.

Out of scope

  • Field filters in the picker, such as "products under 100": SearchQuery.Fields is there for it once a field's settings say which filter to use.
  • Lists of references: list fields stay JSON until a list widget lands.
  • Rule hints (FRM-03): needs F-RUL (F-RUL: Rule book as versioned content #2419).

Acceptance

  • Typing part of a product's name in a reference field lists that product, and choosing it posts its id. The save stores the reference.
  • The media picker finds an asset by part of its file name and posts its id.
  • Without a circuit, the form still shows a select and saves.
  • bUnit covers the pickers' search, choose and clear. A browser test chooses a referenced entity by keyboard alone and saves.

Activity

  1. added a commit that references this issue on Oct 19, 2026
    0e9c759
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:formsGenerated forms (FRM)type:featureNew capabilityv2FluentCMS v2 (v2 branch)

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions