From 26b91c84b4f2959c50063dde7cd9413d6d7333a3 Mon Sep 17 00:00:00 2001 From: Lucas BEE Date: Sat, 18 Aug 2018 18:38:42 +0800 Subject: [PATCH] Add action when hitting enter on poster list page --- frontend/js/components/list/poster.js | 1 + frontend/js/components/list/posters.js | 7 +++++++ frontend/js/components/movies/list.js | 2 ++ frontend/js/components/shows/list.js | 11 +++++++++++ 4 files changed, 21 insertions(+) diff --git a/frontend/js/components/list/poster.js b/frontend/js/components/list/poster.js index 030fdfb..68f9b76 100644 --- a/frontend/js/components/list/poster.js +++ b/frontend/js/components/list/poster.js @@ -10,6 +10,7 @@ export default function Poster(props) { diff --git a/frontend/js/components/list/posters.js b/frontend/js/components/list/posters.js index d205328..0f297a0 100644 --- a/frontend/js/components/list/posters.js +++ b/frontend/js/components/list/posters.js @@ -105,6 +105,8 @@ export default class ListPosters extends React.PureComponent { loadMore={this.loadMore} selectedImdbId={this.props.selectedImdbId} selectPoster={this.props.onClick} + onDoubleClick={this.props.onDoubleClick} + onKeyEnter={this.props.onKeyEnter} /> ); @@ -129,6 +131,10 @@ class Posters extends React.PureComponent { "j": 6, }); + if (event.key === "Enter") { + this.props.onKeyEnter(this.props.selectedImdbId); + } + if (! keyToDiff.has(event.key) ) { return; } @@ -199,6 +205,7 @@ class Posters extends React.PureComponent { key={`poster-${imdbId}`} selected={selected} onClick={() => this.props.selectPoster(imdbId)} + onDoubleClick={() => this.props.onDoubleClick(imdbId)} /> ) diff --git a/frontend/js/components/movies/list.js b/frontend/js/components/movies/list.js index 50fe53e..7dcc218 100644 --- a/frontend/js/components/movies/list.js +++ b/frontend/js/components/movies/list.js @@ -92,6 +92,8 @@ class MovieList extends React.PureComponent { updateFilter={this.props.updateFilter} filter={this.props.filter} onClick={this.props.selectMovie} + onDoubleClick={function() { return; }} + onKeyEnter={function() { return; }} params={this.props.params} router={this.props.router} loading={this.props.loading} diff --git a/frontend/js/components/shows/list.js b/frontend/js/components/shows/list.js index e35636e..7210fd1 100644 --- a/frontend/js/components/shows/list.js +++ b/frontend/js/components/shows/list.js @@ -23,6 +23,15 @@ const mapDispatchToProps = (dispatch) => deleteShowFromWishlist, getShowDetails, updateFilter }, dispatch) class ShowList extends React.PureComponent { + constructor(props) { + super(props); + this.showDetails = this.showDetails.bind(this); + } + + showDetails(imdbId) { + return this.props.router.push("/shows/details/" + imdbId); + } + render() { let selectedShow; if (this.props.selectedImdbId !== "") { @@ -40,6 +49,8 @@ class ShowList extends React.PureComponent { selectedImdbId={this.props.selectedImdbId} filter={this.props.filter} onClick={this.props.selectShow} + onDoubleClick={this.showDetails} + onKeyEnter={this.showDetails} router={this.props.router} params={this.props.params} loading={this.props.loading}