New: Bulk Enable/Disable

This commit is contained in:
Qstick
2021-02-22 20:56:36 -05:00
parent a0445e1abe
commit 0f27837246
8 changed files with 107 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import SelectInput from 'Components/Form/SelectInput';
import SpinnerButton from 'Components/Link/SpinnerButton';
import PageContentFooter from 'Components/Page/PageContentFooter';
import { kinds } from 'Helpers/Props';
@@ -20,6 +21,7 @@ class IndexerEditorFooter extends Component {
super(props, context);
this.state = {
enable: NO_CHANGE,
savingTags: false,
isDeleteMovieModalOpen: false,
isTagsModalOpen: false
@@ -34,6 +36,7 @@ class IndexerEditorFooter extends Component {
if (prevProps.isSaving && !isSaving && !saveError) {
this.setState({
enable: NO_CHANGE,
savingTags: false
});
}
@@ -95,13 +98,35 @@ class IndexerEditorFooter extends Component {
} = this.props;
const {
enable,
savingTags,
isTagsModalOpen,
isDeleteMovieModalOpen
} = this.state;
const enableOptions = [
{ key: NO_CHANGE, value: translate('NoChange'), disabled: true },
{ key: 'true', value: translate('Enabled') },
{ key: 'false', value: translate('Disabled') }
];
return (
<PageContentFooter>
<div className={styles.inputContainer}>
<IndexerEditorFooterLabel
label={translate('EnableIndexer')}
isSaving={isSaving && enable !== NO_CHANGE}
/>
<SelectInput
name="enable"
value={enable}
values={enableOptions}
isDisabled={!selectedCount}
onChange={this.onInputChange}
/>
</div>
<div className={styles.buttonContainer}>
<div className={styles.buttonContainerContent}>
<IndexerEditorFooterLabel

View File

@@ -246,7 +246,7 @@ class IndexerIndex extends Component {
onSaveSelected = (changes) => {
this.props.onSaveSelected({
movieIds: this.getSelectedIds(),
indexerIds: this.getSelectedIds(),
...changes
});
}
@@ -290,7 +290,7 @@ class IndexerIndex extends Component {
allUnselected
} = this.state;
const selectedMovieIds = this.getSelectedIds();
const selectedIndexerIds = this.getSelectedIds();
const ViewComponent = getViewComponent();
const isLoaded = !!(!error && isPopulated && items.length && scroller);
@@ -448,8 +448,8 @@ class IndexerIndex extends Component {
{
isLoaded && isMovieEditorActive &&
<IndexerEditorFooter
indexerIds={selectedMovieIds}
selectedCount={selectedMovieIds.length}
indexerIds={selectedIndexerIds}
selectedCount={selectedIndexerIds.length}
isSaving={isSaving}
saveError={saveError}
isDeleting={isDeleting}