diff --git a/frontend/src/components/mylib-repo-list-view/popups/delete-item.js b/frontend/src/components/dialog/delete-repo-dialog.js similarity index 56% rename from frontend/src/components/mylib-repo-list-view/popups/delete-item.js rename to frontend/src/components/dialog/delete-repo-dialog.js index 2e692e9e17..1953a1a517 100644 --- a/frontend/src/components/mylib-repo-list-view/popups/delete-item.js +++ b/frontend/src/components/dialog/delete-repo-dialog.js @@ -1,21 +1,14 @@ import React, { Component } from 'react'; import { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap'; -import { gettext } from '../../../utils/constants'; +import { gettext } from '../../utils/constants'; -class DeleteItemPopup extends Component { +class DeleteRepoDialog extends Component { - constructor(props) { - super(props); - - this.toggle = this.toggle.bind(this); - this.clickYes = this.clickYes.bind(this); - } - - toggle() { + toggle = () => { this.props.toggle(); } - clickYes() { + clickYes = () => { this.toggle(); const data = this.props.data; @@ -27,18 +20,18 @@ class DeleteItemPopup extends Component { render() { const data = this.props.data; - // TODO: - //const repoName = {data ? data.repoName : null}; - const repoName = data ? data.repoName : null; + const repoName = data ? '' + data.repoName + '' : null; + let message = gettext("Are you sure you want to delete %s ?"); + message = message.replace('%s', repoName); const popup = ( {gettext("Delete Library")} -

{gettext("Are you sure you want to delete %s ?").replace('%s', repoName)}

+

- - + +
); @@ -47,4 +40,4 @@ class DeleteItemPopup extends Component { } } -export default DeleteItemPopup; +export default DeleteRepoDialog; diff --git a/frontend/src/components/toolbar/repo-view-toobar.js b/frontend/src/components/toolbar/repo-view-toobar.js index 1f5667a235..17def2680c 100644 --- a/frontend/src/components/toolbar/repo-view-toobar.js +++ b/frontend/src/components/toolbar/repo-view-toobar.js @@ -51,9 +51,9 @@ class RepoViewToolbar extends React.Component { {gettext('More')} - - {gettext('Deleted Libraries')} - + + {gettext('Deleted Libraries')} + )} diff --git a/frontend/src/components/mylib-repo-list-view/content.js b/frontend/src/pages/my-libs/content.js similarity index 93% rename from frontend/src/components/mylib-repo-list-view/content.js rename to frontend/src/pages/my-libs/content.js index 29142510a1..4346ff89ac 100644 --- a/frontend/src/components/mylib-repo-list-view/content.js +++ b/frontend/src/pages/my-libs/content.js @@ -1,11 +1,11 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { gettext, storages} from '../../utils/constants'; -import TransferDialog from '../dialog/transfer-dialog'; -import LibHistorySetting from '../dialog/lib-history-setting-dialog'; -import Loading from '../loading'; -import ModalPortal from '../modal-portal'; -import DeleteItemPopup from './popups/delete-item'; +import TransferDialog from '../../components/dialog/transfer-dialog'; +import LibHistorySetting from '../../components/dialog/lib-history-setting-dialog'; +import Loading from '../../components/loading'; +import ModalPortal from '../../components/modal-portal'; +import DeleteRepoDialog from '../../components/dialog/delete-repo-dialog'; import TableBody from './table-body'; const propTypes = { @@ -126,7 +126,7 @@ class Content extends Component { const nonEmpty = ( {table} - { this.setState({ - deletedRepoList: res.data + deletedRepoList: res.data, + isLoading: false, }); }); } refreshDeletedRepoList = (repoID) => { - this.setState({ - deletedRepoList: this.state.deletedRepoList.filter(item => item.repo_id !== repoID) - }); + let deletedRepoList = this.state.deletedRepoList.filter(item => { + return item.repo_id !== repoID; + }); + this.setState({deletedRepoList: deletedRepoList}); } render() { - return ( - -
- -
-
-
-
-
- {gettext("My Libraries")} - / - {gettext('Deleted Libraries')} -
-
-
- {(!this.state.isLoading && this.state.deletedRepoList.length === 0) && + return ( + +
+ +
+
+
+
+
+ {gettext("My Libraries")} + / + {gettext('Deleted Libraries')} +
+
+
+ {this.state.isLoading && } + {(!this.state.isLoading && this.state.deletedRepoList.length === 0) &&

{gettext('No deleted libraries.')}

- } - { this.state.deletedRepoList.length !== 0 && -
-

{gettext('Tip: libraries deleted 30 days ago will be cleaned automatically.')}

- -
- } -
-
-
-
+ } + {this.state.deletedRepoList.length !== 0 && +
+

{gettext('Tip: libraries deleted 30 days ago will be cleaned automatically.')}

+ +
+ } +
+
+
+
); } } diff --git a/frontend/src/pages/my-libs/my-libs.js b/frontend/src/pages/my-libs/my-libs.js index d96a5a64cb..ff36c2108e 100644 --- a/frontend/src/pages/my-libs/my-libs.js +++ b/frontend/src/pages/my-libs/my-libs.js @@ -3,8 +3,8 @@ import { seafileAPI } from '../../utils/seafile-api'; import { gettext, loginUrl} from '../../utils/constants'; import CommonToolbar from '../../components/toolbar/common-toolbar'; import RepoViewToolbar from '../../components/toolbar/repo-view-toobar'; -import Content from '../../components/mylib-repo-list-view/content'; import LibDetail from '../../components/dirent-detail/lib-details'; +import Content from './content'; class MyLibraries extends Component { constructor(props) { diff --git a/frontend/src/components/mylib-repo-list-view/table-body.js b/frontend/src/pages/my-libs/table-body.js similarity index 100% rename from frontend/src/components/mylib-repo-list-view/table-body.js rename to frontend/src/pages/my-libs/table-body.js