1
0
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:
Daniel Pan
2019-04-18 15:14:35 +08:00
committed by GitHub
2 changed files with 14 additions and 3 deletions

View File

@@ -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}

View File

@@ -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