diff --git a/frontend/src/components/dialog/copy-dirent-dialog.js b/frontend/src/components/dialog/copy-dirent-dialog.js
index c1166e80b5..2ee855273a 100644
--- a/frontend/src/components/dialog/copy-dirent-dialog.js
+++ b/frontend/src/components/dialog/copy-dirent-dialog.js
@@ -14,7 +14,7 @@ const propTypes = {
onItemCopy: PropTypes.func,
onItemsCopy: PropTypes.func,
onCancelCopy: PropTypes.func.isRequired,
- repoEncrypted: PropTypes.object.isRequired,
+ repoEncrypted: PropTypes.bool.isRequired,
};
// need dirent file Path;
@@ -126,7 +126,7 @@ class CopyDirent extends React.Component {
return;
}
- this.props.onItemCopy(repo, this.props.dirent, selectedPath);
+ this.props.onItemCopy(repo, this.props.dirent, selectedPath, this.props.path);
this.toggle();
}
diff --git a/frontend/src/components/dialog/move-dirent-dialog.js b/frontend/src/components/dialog/move-dirent-dialog.js
index 02657599e3..0d3263386e 100644
--- a/frontend/src/components/dialog/move-dirent-dialog.js
+++ b/frontend/src/components/dialog/move-dirent-dialog.js
@@ -14,7 +14,7 @@ const propTypes = {
onItemMove: PropTypes.func,
onItemsMove: PropTypes.func,
onCancelMove: PropTypes.func.isRequired,
- repoEncrypted: PropTypes.object.isRequired,
+ repoEncrypted: PropTypes.bool.isRequired,
};
// need dirent file Path;
@@ -126,7 +126,7 @@ class MoveDirent extends React.Component {
return;
}
- this.props.onItemMove(repo, this.props.dirent, selectedPath);
+ this.props.onItemMove(repo, this.props.dirent, selectedPath, this.props.path);
this.toggle();
}
diff --git a/frontend/src/components/dir-view-mode/dir-column-nav.js b/frontend/src/components/dir-view-mode/dir-column-nav.js
index 4f1af79faa..55700aa8bc 100644
--- a/frontend/src/components/dir-view-mode/dir-column-nav.js
+++ b/frontend/src/components/dir-view-mode/dir-column-nav.js
@@ -5,6 +5,8 @@ import Loading from '../../components/loading';
import ModalPortal from '../../components/modal-portal';
import Delete from '../../components/dialog/delete-dialog';
import Rename from '../../components/dialog/rename-dialog';
+import Copy from '../../components/dialog/copy-dirent-dialog';
+import Move from '../../components/dialog/move-dirent-dialog';
import CreateFolder from '../../components/dialog/create-folder-dialog';
import CreateFile from '../../components/dialog/create-file-dialog';
import { siteRoot, gettext, thumbnailSizeForOriginal } from '../../utils/constants';
@@ -45,6 +47,9 @@ class DirColumnNav extends React.Component {
isNodeImagePopupOpen: false,
imageNodeItems: [],
imageIndex: 0,
+ isCopyDialogShow: false,
+ isMoveDialogShow: false,
+ isMutipleOperation:false,
};
this.isNodeMenuShow = true;
}
@@ -77,6 +82,12 @@ class DirColumnNav extends React.Component {
case 'Delete':
this.onDeleteToggle();
break;
+ case 'Copy':
+ this.onCopyToggle();
+ break;
+ case 'Move':
+ this.onMoveToggle();
+ break;
case 'Open in New Tab':
this.onOpenFile(node);
break;
@@ -115,6 +126,14 @@ class DirColumnNav extends React.Component {
this.setState({isDeleteDialogShow: !this.state.isDeleteDialogShow});
}
+ onCopyToggle =() => {
+ this.setState({isCopyDialogShow: !this.state.isCopyDialogShow})
+ }
+
+ onMoveToggle = () => {
+ this.setState({isMoveDialogShow: !this.state.isMoveDialogShow})
+ }
+
onAddFolderNode = (dirPath) => {
this.setState({isAddFolderDialogShow: !this.state.isAddFolderDialogShow});
this.props.onAddFolderNode(dirPath);
@@ -295,6 +314,32 @@ class DirColumnNav extends React.Component {
/>
)}
+ {this.state.isCopyDialogShow && (
+