Added keyboard controls to the News UI.

On the landing view, the up arrow will open the News UI.
On the News UI, the left and right arrow keys will switch articles.

Thanks to aaronholtomcook/ElectronLauncher (26659f8c38)
pull/2/head
Daniel Scalzi 2018-06-30 15:16:31 -04:00
parent 52d90276bf
commit 85331a7088
No known key found for this signature in database
GPG Key ID: 5CA2F145B63535F9
1 changed files with 25 additions and 1 deletions

View File

@ -969,7 +969,7 @@ function initNews(){
displayArticle(newsArr[nxtArt], nxtArt+1)
}
document.getElementById('newsNavigateRight').onclick = () => { switchHandler(true) }
document.getElementById('newsNavigateLeft').onclick = () => { switchHandler(false) }
@ -986,6 +986,30 @@ function initNews(){
})
}
/**
* Add keyboard controls to the news UI. Left and right arrows toggle
* between articles. If you are on the landing page, the up arrow will
* open the news UI.
*/
document.addEventListener('keydown', (e) => {
if(newsActive){
if(e.key === 'ArrowRight' || e.key === 'ArrowLeft'){
document.getElementById(e.key === 'ArrowRight' ? 'newsNavigateRight' : 'newsNavigateLeft').click()
}
// Interferes with scrolling an article using the down arrow.
// Not sure of a straight forward solution at this point.
// if(e.key === 'ArrowDown'){
// document.getElementById('newsButton').click()
// }
} else {
if(getCurrentView() === VIEWS.landing){
if(e.key === 'ArrowUp'){
document.getElementById('newsButton').click()
}
}
}
})
/**
* Display a news article on the UI.
*