Skip to content
Snippets Groups Projects
Commit 4ef7c10e authored by Tom Robinson's avatar Tom Robinson
Browse files

Cleanup collection action modals. Resolves #9409

parent a7c44355
No related branches found
No related tags found
No related merge requests found
...@@ -153,7 +153,7 @@ class DefaultLanding extends React.Component { ...@@ -153,7 +153,7 @@ class DefaultLanding extends React.Component {
await Promise.all( await Promise.all(
this.state.selectedItems.map(item => item.setCollection(collection)), this.state.selectedItems.map(item => item.setCollection(collection)),
); );
this.setState({ selectedItems: null, selectedAction: null }); this.handleCloseModal();
} finally { } finally {
this.handleBulkActionSuccess(); this.handleBulkActionSuccess();
} }
...@@ -166,6 +166,10 @@ class DefaultLanding extends React.Component { ...@@ -166,6 +166,10 @@ class DefaultLanding extends React.Component {
this.props.onSelectNone(); this.props.onSelectNone();
}; };
handleCloseModal = () => {
this.setState({ selectedItems: null, selectedAction: null });
};
render() { render() {
const { const {
ancestors, ancestors,
...@@ -499,14 +503,12 @@ class DefaultLanding extends React.Component { ...@@ -499,14 +503,12 @@ class DefaultLanding extends React.Component {
</Box> </Box>
{!_.isEmpty(selectedItems) && {!_.isEmpty(selectedItems) &&
selectedAction == "copy" && ( selectedAction == "copy" && (
<Modal> <Modal onClose={this.handleCloseModal}>
<CollectionCopyEntityModal <CollectionCopyEntityModal
entityObject={selectedItems[0]} entityObject={selectedItems[0]}
onClose={() => onClose={this.handleCloseModal}
this.setState({ selectedItems: null, selectedAction: null })
}
onSaved={newEntityObject => { onSaved={newEntityObject => {
this.setState({ selectedItems: null, selectedAction: null }); this.handleCloseModal();
this.handleBulkActionSuccess(); this.handleBulkActionSuccess();
}} }}
/> />
...@@ -514,16 +516,14 @@ class DefaultLanding extends React.Component { ...@@ -514,16 +516,14 @@ class DefaultLanding extends React.Component {
)} )}
{!_.isEmpty(selectedItems) && {!_.isEmpty(selectedItems) &&
selectedAction == "move" && ( selectedAction == "move" && (
<Modal> <Modal onClose={this.handleCloseModal}>
<CollectionMoveModal <CollectionMoveModal
title={ title={
selectedItems.length > 1 selectedItems.length > 1
? t`Move ${selectedItems.length} items?` ? t`Move ${selectedItems.length} items?`
: t`Move "${selectedItems[0].getName()}"?` : t`Move "${selectedItems[0].getName()}"?`
} }
onClose={() => onClose={this.handleCloseModal}
this.setState({ selectedItems: null, selectedAction: null })
}
onMove={this.handleBulkMove} onMove={this.handleBulkMove}
/> />
</Modal> </Modal>
......
...@@ -3,10 +3,9 @@ import PropTypes from "prop-types"; ...@@ -3,10 +3,9 @@ import PropTypes from "prop-types";
import { t } from "c-3po"; import { t } from "c-3po";
import { Flex, Box } from "grid-styled"; import { Flex } from "grid-styled";
import Subhead from "metabase/components/Subhead";
import Button from "metabase/components/Button"; import Button from "metabase/components/Button";
import Icon from "metabase/components/Icon"; import ModalContent from "metabase/components/ModalContent";
import CollectionPicker from "metabase/containers/CollectionPicker"; import CollectionPicker from "metabase/containers/CollectionPicker";
...@@ -41,15 +40,7 @@ class CollectionMoveModal extends React.Component { ...@@ -41,15 +40,7 @@ class CollectionMoveModal extends React.Component {
const { selectedCollectionId } = this.state; const { selectedCollectionId } = this.state;
return ( return (
<Box p={3}> <ModalContent title={this.props.title} onClose={this.props.onClose}>
<Flex align="center" mb={2}>
<Subhead>{this.props.title}</Subhead>
<Icon
name="close"
className="ml-auto"
onClick={() => this.props.onClose()}
/>
</Flex>
<CollectionPicker <CollectionPicker
value={selectedCollectionId} value={selectedCollectionId}
onChange={selectedCollectionId => onChange={selectedCollectionId =>
...@@ -78,7 +69,7 @@ class CollectionMoveModal extends React.Component { ...@@ -78,7 +69,7 @@ class CollectionMoveModal extends React.Component {
{t`Move`} {t`Move`}
</Button> </Button>
</Flex> </Flex>
</Box> </ModalContent>
); );
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment