SelectionListNode: add WithHighlightedIndex() for pre-selection#213
Merged
Conversation
SelectionListNode<T> always started highlighting at index 0 with no public way to pre-select an item -- e.g. a wizard edit flow that should re-highlight the user's prior choice. - Add WithHighlightedIndex(int) fluent builder; clamps to the valid range, ignores the call when the list is empty (avoids Math.Clamp throwing on min > max), and calls EnsureVisible() to scroll the pre-selected item into view - 6 new tests covering fluent return, clamping (both ends), the empty-list guard, and scroll-into-view on first render - Document the new method and add it to the API reference table Fixes #203
Adds WithHighlightedIndex(49) to the Gallery's column 3 so the 100-item fill-height list opens scrolled to item #50 instead of the top -- visually demonstrating pre-selection and scroll-into-view together.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SelectionListNode<T>always started with item index 0 highlighted and exposed no public API to change it. This blocks pre-selection when re-entering a previously configured view (e.g. a wizard edit flow where the user's prior choice should be re-highlighted).Adds
WithHighlightedIndex(int)— a fluent builder consistent withWithMode,WithHighlightColors, etc.Changes
WithHighlightedIndex(int)fluent builderMath.Clamp(index, 0, _items.Count - 1)throwsArgumentException(min > max) on an empty list; guarding avoids thatEnsureVisible()so a pre-selected off-screen item is scrolled into view on the first renderTesting
All 1018 tests pass (1012 existing + 6 new), 0 failures.
Fixes #203