Skip to content

Commit

Permalink
Flatlist keyboard navigation: Mouse can move selection (#1267)
Browse files Browse the repository at this point in the history
* add pull yml

* match handleOpenURLNotification event payload with iOS (#755) (#2)

Co-authored-by: Ryan Linton <[email protected]>

* [pull] master from microsoft:master (#11)

* Deprecated api (#853)

* Remove deprecated/unused context param
* Update a few Mac deprecated APIs

* Packing RN dependencies, hermes and ignoring javadoc failure,  (#852)

* Ignore javadoc failure

* Bringing few more changes from 0.63-stable

* Fixing a patch in engine selection

* Fixing a patch in nuget spec

* Fixing the output directory of nuget pack

* Packaging dependencies in the nuget

* Fix onMouseEnter/onMouseLeave callbacks not firing on Pressable (#855)

* add pull yml

* match handleOpenURLNotification event payload with iOS (#755) (#2)

Co-authored-by: Ryan Linton <[email protected]>

* fix mouse evetns on pressable

* delete extra yml from this branch

* Add macOS tags

* reorder props to have onMouseEnter/onMouseLeave always be before onPress

Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Ryan Linton <[email protected]>

* Grammar fixes. (#856)

Updates simple grammar issues.

Co-authored-by: Nick Trescases <[email protected]>
Co-authored-by: Anandraj <[email protected]>
Co-authored-by: Saad Najmi <[email protected]>
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Ryan Linton <[email protected]>
Co-authored-by: Muhammad Hamza Zaman <[email protected]>

* mouse selection works too

* remove pull.yml

Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Ryan Linton <[email protected]>
Co-authored-by: Nick Trescases <[email protected]>
Co-authored-by: Anandraj <[email protected]>
Co-authored-by: Muhammad Hamza Zaman <[email protected]>
  • Loading branch information
6 people authored Jul 22, 2022
1 parent 84c0863 commit eefd4a8
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
13 changes: 13 additions & 0 deletions Libraries/Lists/FlatList.js
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,19 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
}
}

// [TODO(macOS GH#750)
/**
* Move selection to the specified index
*
* @platform ios
*/
selectRowAtIndex(index: number) {
if (this._listRef) {
this._listRef.selectRowAtIndex(index);
}
}
// ]TODO(macOS GH#750)

/**
* Provides a handle to the underlying scroll responder.
*/
Expand Down
4 changes: 4 additions & 0 deletions Libraries/Lists/VirtualizedList.js
Original file line number Diff line number Diff line change
Expand Up @@ -592,6 +592,10 @@ class VirtualizedList extends React.PureComponent<Props, State> {
this.scrollToOffset({offset: newOffset});
}
}

selectRowAtIndex(rowIndex: number) {
this._selectRowAtIndex(rowIndex);
}
// ]TODO(macOS GH#774)

recordInteraction() {
Expand Down
6 changes: 5 additions & 1 deletion packages/rn-tester/js/examples/FlatList/FlatList-basic.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ type State = {|
fadingEdgeLength: number,
onPressDisabled: boolean,
textSelectable: boolean,
enableSelectionOnKeyPress: boolean, // TODO(macOS GH#774)]
enableSelectionOnKeyPress: boolean, // TODO(macOS GH#774)
|};

class FlatListExample extends React.PureComponent<Props, State> {
Expand Down Expand Up @@ -329,6 +329,10 @@ class FlatListExample extends React.PureComponent<Props, State> {
_pressItem = (key: string) => {
this._listRef && this._listRef.recordInteraction();
const index = Number(key);
// [TODO(macOS GH#774)
if (this.state.enableSelectionOnKeyPress) {
this._listRef && this._listRef.selectRowAtIndex(index);
} // ]TODO(macOS GH#774)
const itemState = pressItem(this.state.data[index]);
this.setState(state => ({
...state,
Expand Down

0 comments on commit eefd4a8

Please sign in to comment.