Skip to content

Commit

Permalink
Allow selecting a card when viewing by hitting space.
Browse files Browse the repository at this point in the history
Part of #688.
  • Loading branch information
jkomoros committed Apr 13, 2024
1 parent 1e75797 commit 2024532
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
13 changes: 12 additions & 1 deletion src/actions/collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ import {
selectActiveCollection,
selectPendingNewCardIDToNavigateTo,
selectAlreadyCommittedModificationsWhenFullyLoaded,
selectCollectionConstructorArguments
selectCollectionConstructorArguments,
selectExplicitlySelectedCardIDs
} from '../selectors.js';

import {
Expand Down Expand Up @@ -498,6 +499,16 @@ export const waitForFinalCollection = async (description : CollectionDescription
return collection;
};

export const toggleCardSelected = (id : CardID) : ThunkSomeAction => (dispatch, getState) => {
const state = getState();
const selected = selectExplicitlySelectedCardIDs(state);
if (selected[id]) {
dispatch(unselectCards([id]));
} else {
dispatch(doSelectCards([id]));
}
};

//Funky name to avoid colliding with selectCards selector
export const doSelectCards = (cards : CardID[]) : SomeAction => {
return {
Expand Down
12 changes: 11 additions & 1 deletion src/components/main-view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,10 @@ import {
CARD_HOVERED_EVENT_NAME
} from '../events.js';

import {
toggleCardSelected
} from '../actions/collection.js';

@customElement('main-view')
class MainView extends connect(store)(PageViewElement) {

Expand Down Expand Up @@ -467,9 +471,15 @@ class MainView extends connect(store)(PageViewElement) {
e.preventDefault();
store.dispatch(openFindDialog());
break;
case ' ':
if (!this._card) return;
e.stopPropagation();
e.preventDefault();
//TODO: should we not do this if the user can't edit?
store.dispatch(toggleCardSelected(this._card.id));
break;
case 'ArrowDown':
case 'ArrowRight':
case ' ':
e.stopPropagation();
e.preventDefault();
store.dispatch(navigateToNextCard());
Expand Down

0 comments on commit 2024532

Please sign in to comment.