From 79273c18c04c7cf5371007e808e48a90ab3bbd7a Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Wed, 14 Jan 2026 18:05:45 +0100 Subject: [PATCH] Revert "docs(docs-infra): use Signals Forms focusBoundControl" This reverts commit 79e6dfdef353306e0e08dadd92fcd50cdc72e74c. --- .../components/search-dialog/search-dialog.component.ts | 3 ++- .../api-reference-list/api-reference-list.component.ts | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/adev/shared-docs/components/search-dialog/search-dialog.component.ts b/adev/shared-docs/components/search-dialog/search-dialog.component.ts index 688d3fa7e96..4eb83ac6988 100644 --- a/adev/shared-docs/components/search-dialog/search-dialog.component.ts +++ b/adev/shared-docs/components/search-dialog/search-dialog.component.ts @@ -54,6 +54,7 @@ export class SearchDialog { readonly onClose = output(); readonly dialog = viewChild.required>('searchDialog'); readonly items = viewChildren(SearchItem); + readonly textField = viewChild(TextField); readonly history = inject(SearchHistory); private readonly search = inject(Search); @@ -97,7 +98,7 @@ export class SearchDialog { } // We want to select the pre-existing text on opening // In order to change the search input with minimal user interaction. - this.searchForm().focusBoundControl(); + this.textField()?.input().nativeElement.select(); }, }); diff --git a/adev/src/app/features/references/api-reference-list/api-reference-list.component.ts b/adev/src/app/features/references/api-reference-list/api-reference-list.component.ts index 770395add8b..e4099e3e2ab 100644 --- a/adev/src/app/features/references/api-reference-list/api-reference-list.component.ts +++ b/adev/src/app/features/references/api-reference-list/api-reference-list.component.ts @@ -18,6 +18,7 @@ import { inject, input, linkedSignal, + viewChild, } from '@angular/core'; import {Select, SelectOption, TextField} from '@angular/docs'; import {FormField, form} from '@angular/forms/signals'; @@ -61,6 +62,7 @@ export default class ApiReferenceList { // services private readonly apiReferenceManager = inject(ApiReferenceManager); private readonly router = inject(Router); + private readonly filterInput = viewChild.required(TextField); private readonly injector = inject(EnvironmentInjector); // inputs @@ -135,12 +137,13 @@ export default class ApiReferenceList { constructor() { effect(() => { - const filterInput = this.form.query(); + const filterInput = this.filterInput(); afterNextRender( { write: () => { + // Why not improve this once https://github.com/orgs/angular/projects/60?pane=issue&itemId=143488813 is done if (matchMedia('(hover: hover) and (pointer:fine)').matches) { - scheduleOnIdle(() => filterInput.focusBoundControl()); + scheduleOnIdle(() => filterInput.focus()); } }, },