1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-20 21:54:58 -04:00

New: Ensure all unmapped folders are fetched when importing from a root folder

Closes #3751
This commit is contained in:
Mark McDowall
2020-06-13 12:15:58 -07:00
parent b642c3acfd
commit 11cdf13148
5 changed files with 37 additions and 23 deletions
@@ -102,24 +102,30 @@ class ImportSeries extends Component {
onScroll={this.onScroll}
>
{
rootFoldersFetching && !rootFoldersPopulated &&
<LoadingIndicator />
rootFoldersFetching ? <LoadingIndicator /> : null
}
{
!rootFoldersFetching && !!rootFoldersError &&
<div>Unable to load root folders</div>
!rootFoldersFetching && !!rootFoldersError ?
<div>Unable to load root folders</div> :
null
}
{
!rootFoldersError && rootFoldersPopulated && !unmappedFolders.length &&
!rootFoldersError &&
!rootFoldersFetching &&
!unmappedFolders.length ?
<div>
All series in {path} have been imported
</div>
</div> :
null
}
{
!rootFoldersError && rootFoldersPopulated && !!unmappedFolders.length && scroller &&
!rootFoldersError &&
!rootFoldersFetching &&
!!unmappedFolders.length &&
scroller ?
<ImportSeriesTableConnector
rootFolderId={rootFolderId}
unmappedFolders={unmappedFolders}
@@ -131,18 +137,22 @@ class ImportSeries extends Component {
onSelectAllChange={this.onSelectAllChange}
onSelectedChange={this.onSelectedChange}
onRemoveSelectedStateItem={this.onRemoveSelectedStateItem}
/>
/> :
null
}
</PageContentBody>
{
!rootFoldersError && rootFoldersPopulated && !!unmappedFolders.length &&
!rootFoldersError &&
!rootFoldersFetching &&
!!unmappedFolders.length ?
<ImportSeriesFooterConnector
selectedIds={this.getSelectedIds()}
showLanguageProfile={showLanguageProfile}
onInputChange={this.onInputChange}
onImportPress={this.onImportPress}
/>
/> :
null
}
</PageContent>
);
@@ -76,6 +76,7 @@ class ImportSeriesConnector extends Component {
componentDidMount() {
const {
rootFolderId,
qualityProfiles,
languageProfiles,
defaultQualityProfileId,
@@ -84,9 +85,7 @@ class ImportSeriesConnector extends Component {
dispatchSetAddSeriesDefault
} = this.props;
if (!this.props.rootFoldersPopulated) {
dispatchFetchRootFolders();
}
dispatchFetchRootFolders({ id: rootFolderId, timeout: false });
let setDefaults = false;
const setDefaultPayload = {};
@@ -154,6 +153,8 @@ const routeMatchShape = createRouteMatchShape({
ImportSeriesConnector.propTypes = {
match: routeMatchShape.isRequired,
rootFolderId: PropTypes.number.isRequired,
rootFoldersFetching: PropTypes.bool.isRequired,
rootFoldersPopulated: PropTypes.bool.isRequired,
qualityProfiles: PropTypes.arrayOf(PropTypes.object).isRequired,
languageProfiles: PropTypes.arrayOf(PropTypes.object).isRequired,