diff --git a/frontend/src/components/dialog/copy-dirent-dialog.js b/frontend/src/components/dialog/copy-dirent-dialog.js index c53143eb46..9fbbe8c579 100644 --- a/frontend/src/components/dialog/copy-dirent-dialog.js +++ b/frontend/src/components/dialog/copy-dirent-dialog.js @@ -1,9 +1,9 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalFooter, ModalBody, Alert, Row, Col } from 'reactstrap'; +import FileChooser from '../file-chooser'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; -import FileChooser from '../file-chooser/file-chooser'; const propTypes = { path: PropTypes.string.isRequired, diff --git a/frontend/src/components/dialog/insert-file-dialog.js b/frontend/src/components/dialog/insert-file-dialog.js index bd0a961df5..22589a107d 100644 --- a/frontend/src/components/dialog/insert-file-dialog.js +++ b/frontend/src/components/dialog/insert-file-dialog.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext } from '../../utils/constants'; -import FileChooser from '../file-chooser/file-chooser'; +import FileChooser from '../file-chooser'; const propTypes = { repoID: PropTypes.string.isRequired, diff --git a/frontend/src/components/dialog/insert-repo-image-dialog.js b/frontend/src/components/dialog/insert-repo-image-dialog.js index d167711b11..8dc1d3f183 100644 --- a/frontend/src/components/dialog/insert-repo-image-dialog.js +++ b/frontend/src/components/dialog/insert-repo-image-dialog.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; -import FileChooser from '../file-chooser/file-chooser'; +import FileChooser from '../file-chooser'; import '../../css/insert-repo-image-dialog.css'; const { siteRoot, serviceUrl } = window.app.config; diff --git a/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js b/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js index c8d95ad8f6..196aa0c89d 100644 --- a/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js +++ b/frontend/src/components/dialog/lib-sub-folder-set-group-permission-dialog.js @@ -5,7 +5,7 @@ import { gettext, isPro, siteRoot } from '../../utils/constants'; import { seafileAPI } from '../../utils/seafile-api'; import { Utils } from '../../utils/utils'; import SharePermissionEditor from '../select-editor/share-permission-editor'; -import FileChooser from '../file-chooser/file-chooser'; +import FileChooser from '../file-chooser'; import { SeahubSelect, NoGroupMessage } from '../common/select'; import toaster from '../../components/toast'; diff --git a/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js b/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js index b99de046ea..ad95af290f 100644 --- a/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js +++ b/frontend/src/components/dialog/lib-sub-folder-set-user-permission-dialog.js @@ -6,7 +6,7 @@ import { seafileAPI } from '../../utils/seafile-api'; import { Utils } from '../../utils/utils'; import UserSelect from '../user-select'; import SharePermissionEditor from '../select-editor/share-permission-editor'; -import FileChooser from '../file-chooser/file-chooser'; +import FileChooser from '../file-chooser'; import toaster from '../../components/toast'; class UserItem extends React.Component { diff --git a/frontend/src/components/dialog/move-dirent-dialog.js b/frontend/src/components/dialog/move-dirent-dialog.js index 844cd29a07..408e258bab 100644 --- a/frontend/src/components/dialog/move-dirent-dialog.js +++ b/frontend/src/components/dialog/move-dirent-dialog.js @@ -1,9 +1,9 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Button, Modal, ModalHeader, ModalFooter, ModalBody, Alert, Row, Col } from 'reactstrap'; +import { Modal, ModalHeader } from 'reactstrap'; +import SelectDirentBody from './select-dirent-body'; import { gettext } from '../../utils/constants'; import { Utils } from '../../utils/utils'; -import FileChooser from '../file-chooser/file-chooser'; const propTypes = { path: PropTypes.string.isRequired, @@ -14,10 +14,8 @@ const propTypes = { onItemMove: PropTypes.func, onItemsMove: PropTypes.func, onCancelMove: PropTypes.func.isRequired, - repoEncrypted: PropTypes.bool.isRequired, }; -// need dirent file Path; class MoveDirent extends React.Component { constructor(props) { @@ -26,7 +24,6 @@ class MoveDirent extends React.Component { repo: { repo_id: this.props.repoID }, selectedPath: this.props.path, errMessage: '', - mode: 'only_current_library', }; } @@ -44,7 +41,7 @@ class MoveDirent extends React.Component { let message = gettext('Invalid destination path'); if (!repo || selectedPath === '') { - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } @@ -57,13 +54,13 @@ class MoveDirent extends React.Component { // move dirents to one of them. eg: A/B, A/C -> A/B if (direntPaths.some(direntPath => { return direntPath === selectedPath;})) { - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } // move dirents to current path if (selectedPath && selectedPath === this.props.path && (repo.repo_id === repoID)) { - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } @@ -81,7 +78,7 @@ class MoveDirent extends React.Component { message = gettext('Can not move folder %(src)s to its subfolder %(des)s'); message = message.replace('%(src)s', moveDirentPath); message = message.replace('%(des)s', selectedPath); - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } @@ -96,19 +93,19 @@ class MoveDirent extends React.Component { let message = gettext('Invalid destination path'); if (!repo || (repo.repo_id === repoID && selectedPath === '')) { - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } // copy the dirent to itself. eg: A/B -> A/B if (selectedPath && direntPath === selectedPath) { - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } // copy the dirent to current path if (selectedPath && this.props.path === selectedPath && repo.repo_id === repoID) { - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } @@ -117,7 +114,7 @@ class MoveDirent extends React.Component { message = gettext('Can not move folder %(src)s to its subfolder %(des)s'); message = message.replace('%(src)s', direntPath); message = message.replace('%(des)s', selectedPath); - this.setState({ errMessage: message }); + this.setErrMessage(message); return; } @@ -129,24 +126,16 @@ class MoveDirent extends React.Component { this.props.onCancelMove(); }; - onDirentItemClick = (repo, selectedPath) => { - this.setState({ - repo: repo, - selectedPath: selectedPath, - errMessage: '' - }); + selectRepo = (repo) => { + this.setState({ repo }); }; - onRepoItemClick = (repo) => { - this.setState({ - repo: repo, - selectedPath: '/', - errMessage: '' - }); + setSelectedPath = (selectedPath) => { + this.setState({ selectedPath }); }; - onSelectedMode = (mode) => { - this.setState({ mode: mode }); + setErrMessage = (message) => { + this.setState({ errMessage: message }); }; renderTitle = () => { @@ -161,48 +150,28 @@ class MoveDirent extends React.Component { }; render() { - const { dirent, selectedDirentList, isMultipleOperation, repoID, path } = this.props; - const { mode, errMessage } = this.state; - + const { dirent, selectedDirentList, isMultipleOperation, path, repoID } = this.props; const movedDirent = dirent || selectedDirentList[0]; const { permission } = movedDirent; const { isCustomPermission } = Utils.getUserPermission(permission); - const LibraryOption = ({ mode, label }) => ( -