diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/InstancePicker.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/InstancePicker.razor index 4e32178c..0e5144ca 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/InstancePicker.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/InstancePicker.razor @@ -3,6 +3,9 @@ 2026-09-08). The field shows the selected instance; the panel hosts the shared TreeView over InstanceTreeBuilder's forest with every area collapsed. Clicking an area row toggles it, clicking an instance row selects it and closes the panel. + Typing filters the forest to the matching instances and their ancestors; Enter picks + the first visible match, ArrowDown hands keyboard navigation to the tree and Escape + closes without changing the selection. Bootstrap only, no JavaScript: the transparent fixed backdrop closes the panel on an outside click, the same pattern TreeView uses for its context menu. *@ @@ -16,7 +19,7 @@ aria-expanded="@(_open ? "true" : "false")" aria-controls="@_panelId" placeholder="@Placeholder" disabled="@Disabled" data-test="@($"{DataTestPrefix}-input")" - value="@_text" @onfocus="Open" /> + value="@_text" @onfocus="Open" @oninput="OnInput" @onkeydown="OnInputKeyDown" />