New: Manual import refreshes decisions when artist/album updated (#540)

This commit is contained in:
ta264 2018-11-19 03:16:55 +00:00 committed by Qstick
parent d62b4e49f9
commit 32c75cfcbc
15 changed files with 211 additions and 43 deletions

View file

@ -5,6 +5,7 @@ import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import {
updateInteractiveImportItem,
saveInteractiveImportItem,
fetchInteractiveImportAlbums,
setInteractiveImportAlbumsSort,
clearInteractiveImportAlbums
@ -25,7 +26,8 @@ const mapDispatchToProps = {
fetchInteractiveImportAlbums,
setInteractiveImportAlbumsSort,
clearInteractiveImportAlbums,
updateInteractiveImportItem
updateInteractiveImportItem,
saveInteractiveImportItem
};
class SelectAlbumModalContentConnector extends Component {
@ -61,8 +63,10 @@ class SelectAlbumModalContentConnector extends Component {
this.props.updateInteractiveImportItem({
id,
album,
tracks: []
tracks: [],
rejections: []
});
this.props.saveInteractiveImportItem({ id });
});
this.props.onModalClose(true);

View file

@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import { updateInteractiveImportItem } from 'Store/Actions/interactiveImportActions';
import { updateInteractiveImportItem, saveInteractiveImportItem } from 'Store/Actions/interactiveImportActions';
import createAllArtistSelector from 'Store/Selectors/createAllArtistSelector';
import SelectArtistModalContent from './SelectArtistModalContent';
@ -29,7 +29,8 @@ function createMapStateToProps() {
}
const mapDispatchToProps = {
updateInteractiveImportItem
updateInteractiveImportItem,
saveInteractiveImportItem
};
class SelectArtistModalContentConnector extends Component {
@ -45,8 +46,10 @@ class SelectArtistModalContentConnector extends Component {
id,
artist,
album: undefined,
tracks: []
tracks: [],
rejections: []
});
this.props.saveInteractiveImportItem({ id });
});
this.props.onModalClose(true);

View file

@ -324,6 +324,7 @@ class InteractiveImportRow extends Component {
id={id}
artistId={artist && artist.id}
albumId={album && album.id}
filename={relativePath}
onModalClose={this.onSelectTrackModalClose}
/>

View file

@ -87,7 +87,8 @@ class SelectTrackModalContent extends Component {
sortKey,
sortDirection,
onSortPress,
onModalClose
onModalClose,
filename
} = this.props;
const {
@ -96,12 +97,13 @@ class SelectTrackModalContent extends Component {
selectedState
} = this.state;
const title = `Manual Import - Select Track(s): ${filename}`;
const errorMessage = getErrorMessage(error, 'Unable to load tracks');
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Manual Import - Select Track(s)
{title}
</ModalHeader>
<ModalBody>
@ -179,7 +181,8 @@ SelectTrackModalContent.propTypes = {
sortDirection: PropTypes.string,
onSortPress: PropTypes.func.isRequired,
onTracksSelect: PropTypes.func.isRequired,
onModalClose: PropTypes.func.isRequired
onModalClose: PropTypes.func.isRequired,
filename: PropTypes.string.isRequired
};
export default SelectTrackModalContent;