mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 16:31:13 +00:00
Merge pull request #3313 from haiwen/fix-bug
handle delete item then details panel bug
This commit is contained in:
@@ -84,6 +84,7 @@ const propTypes = {
|
|||||||
closeDirentDetail: PropTypes.func.isRequired,
|
closeDirentDetail: PropTypes.func.isRequired,
|
||||||
showDirentDetail: PropTypes.func.isRequired,
|
showDirentDetail: PropTypes.func.isRequired,
|
||||||
onDeleteRepoTag: PropTypes.func.isRequired,
|
onDeleteRepoTag: PropTypes.func.isRequired,
|
||||||
|
updateDetail: PropTypes.bool.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
class LibContentContainer extends React.Component {
|
class LibContentContainer extends React.Component {
|
||||||
@@ -98,7 +99,7 @@ class LibContentContainer extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(nextProps) {
|
componentWillReceiveProps(nextProps) {
|
||||||
if (nextProps.path !== this.props.path) {
|
if (nextProps.path !== this.props.path || nextProps.updateDetail !== this.props.updateDetail) {
|
||||||
this.setState({currentDirent: null});
|
this.setState({currentDirent: null});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -124,6 +125,13 @@ class LibContentContainer extends React.Component {
|
|||||||
this.props.onItemSelected(dirent);
|
this.props.onItemSelected(dirent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onItemDelete = (dirent) => {
|
||||||
|
if (dirent.name === this.state.currentDirent.name) {
|
||||||
|
this.setState({currentDirent: null});
|
||||||
|
}
|
||||||
|
this.props.onItemDelete(dirent);
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let { path, repoID, usedRepoTags, readmeMarkdown, draftCounts } = this.props;
|
let { path, repoID, usedRepoTags, readmeMarkdown, draftCounts } = this.props;
|
||||||
let isRepoInfoBarShow = false;
|
let isRepoInfoBarShow = false;
|
||||||
@@ -177,7 +185,7 @@ class LibContentContainer extends React.Component {
|
|||||||
onAddFile={this.props.onAddFile}
|
onAddFile={this.props.onAddFile}
|
||||||
onItemClick={this.onItemClick}
|
onItemClick={this.onItemClick}
|
||||||
onItemSelected={this.onItemSelected}
|
onItemSelected={this.onItemSelected}
|
||||||
onItemDelete={this.props.onItemDelete}
|
onItemDelete={this.onItemDelete}
|
||||||
onItemRename={this.props.onItemRename}
|
onItemRename={this.props.onItemRename}
|
||||||
onItemMove={this.props.onItemMove}
|
onItemMove={this.props.onItemMove}
|
||||||
onItemCopy={this.props.onItemCopy}
|
onItemCopy={this.props.onItemCopy}
|
||||||
@@ -241,7 +249,7 @@ class LibContentContainer extends React.Component {
|
|||||||
onAddFile={this.props.onAddFile}
|
onAddFile={this.props.onAddFile}
|
||||||
onItemClick={this.onItemClick}
|
onItemClick={this.onItemClick}
|
||||||
onItemSelected={this.onItemSelected}
|
onItemSelected={this.onItemSelected}
|
||||||
onItemDelete={this.props.onItemDelete}
|
onItemDelete={this.onItemDelete}
|
||||||
onItemRename={this.props.onItemRename}
|
onItemRename={this.props.onItemRename}
|
||||||
onItemMove={this.props.onItemMove}
|
onItemMove={this.props.onItemMove}
|
||||||
onItemCopy={this.props.onItemCopy}
|
onItemCopy={this.props.onItemCopy}
|
||||||
|
@@ -70,6 +70,7 @@ class LibContentView extends React.Component {
|
|||||||
dirID: '', // for update dir list
|
dirID: '', // for update dir list
|
||||||
errorMsg: '',
|
errorMsg: '',
|
||||||
isDirentDetailShow: false,
|
isDirentDetailShow: false,
|
||||||
|
updateDetail: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
window.onpopstate = this.onpopstate;
|
window.onpopstate = this.onpopstate;
|
||||||
@@ -491,6 +492,7 @@ class LibContentView extends React.Component {
|
|||||||
let direntPaths = this.getSelectedDirentPaths();
|
let direntPaths = this.getSelectedDirentPaths();
|
||||||
let dirNames = this.getSelectedDirentNames();
|
let dirNames = this.getSelectedDirentNames();
|
||||||
|
|
||||||
|
this.setState({updateDetail: !this.state.updateDetail});
|
||||||
seafileAPI.deleteMutipleDirents(repoID, this.state.path, dirNames).then(res => {
|
seafileAPI.deleteMutipleDirents(repoID, this.state.path, dirNames).then(res => {
|
||||||
direntPaths.forEach(direntPath => {
|
direntPaths.forEach(direntPath => {
|
||||||
if (this.state.currentMode === 'column') {
|
if (this.state.currentMode === 'column') {
|
||||||
@@ -1448,6 +1450,7 @@ class LibContentView extends React.Component {
|
|||||||
showDirentDetail={this.showDirentDetail}
|
showDirentDetail={this.showDirentDetail}
|
||||||
onDeleteRepoTag={this.onDeleteRepoTag}
|
onDeleteRepoTag={this.onDeleteRepoTag}
|
||||||
onToolbarFileTagChanged={this.onToolbarFileTagChanged}
|
onToolbarFileTagChanged={this.onToolbarFileTagChanged}
|
||||||
|
updateDetail={this.state.updateDetail}
|
||||||
/>
|
/>
|
||||||
{this.state.pathExist && !this.state.isViewFile && (
|
{this.state.pathExist && !this.state.isViewFile && (
|
||||||
<FileUploader
|
<FileUploader
|
||||||
|
Reference in New Issue
Block a user