Open rock3r opened 1 year ago
Also, there is a usecase that should be taken into account:
Imagine we have a textfield and lazy column where elements can be selected (e.g. Search Everywhere or Git Branches popup) I want to propagate arrowDown/arrowUp presses to lazy list. So that when TextField is focused and arrowDown is pressed, lazy list become focused and arrowDown is handled by lazy list.
Now events handling is incapsulated in SelectableLazyColumn, so supporting this scenario is quite difficult
Related: #470
The
SelectableLazyColumn
is a foundational component that will be used everywhere. As such, we need to make it work as well as it possibly can. This issue is to track the need to do a thorough code and perf review of the component, fixing any issues we find.Known concerns
allKeys: List<Key>
andkeyToIndex: Map<Int, Key>
shouldn't exist at all, since the API related to it causes O(n) selection change operations, where they should be O(1)