From fe88b07ba66198fa824cbd6991aa8dc409946bf6 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Tue, 16 Jan 2018 21:18:42 -0800 Subject: [PATCH] Don't crop if nothing is selected --- js/actionCreators.js | 7 ++++++- js/selectors.js | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/js/actionCreators.js b/js/actionCreators.js index 9facc093..4ef3e2b0 100644 --- a/js/actionCreators.js +++ b/js/actionCreators.js @@ -12,7 +12,8 @@ import { nextTrack, getScrollOffset, getOverflowTrackCount, - getPlaylistURL + getPlaylistURL, + getSelectedTrackObjects } from "./selectors"; import { @@ -393,6 +394,10 @@ export function closeEqualizerWindow() { export function cropPlaylist() { return (dispatch, getState) => { + const state = getState(); + if (getSelectedTrackObjects(state).length === 0) { + return; + } const { playlist: { tracks } } = getState(); dispatch({ type: REMOVE_TRACKS, diff --git a/js/selectors.js b/js/selectors.js index af47030d..bc114b2f 100644 --- a/js/selectors.js +++ b/js/selectors.js @@ -39,8 +39,9 @@ const getOrderedTrackObjects = createSelector( (tracks, trackOrder) => trackOrder.map(id => tracks[id]) ); -const getSelectedTrackObjects = createSelector(getOrderedTrackObjects, tracks => - tracks.filter(track => track.selected) +export const getSelectedTrackObjects = createSelector( + getOrderedTrackObjects, + tracks => tracks.filter(track => track.selected) ); const runningTimeFromTracks = tracks =>