mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 07:27:04 +00:00
display thumbnail after upload file (#6382)
This commit is contained in:
@@ -575,14 +575,15 @@ class LibContentView extends React.Component {
|
|||||||
this.setState({ itemsShowLength: 100 });
|
this.setState({ itemsShowLength: 100 });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
shouldDisplayThumbnail = (item) => {
|
||||||
|
return ((Utils.imageCheck(item.name) || (enableVideoThumbnail && Utils.videoCheck(item.name)) || (enablePDFThumbnail && Utils.pdfCheck(item.name))) && !item.encoded_thumbnail_src);
|
||||||
|
};
|
||||||
|
|
||||||
getThumbnails = (repoID, path, direntList) => {
|
getThumbnails = (repoID, path, direntList) => {
|
||||||
let items = direntList.filter((item) => {
|
let items = direntList.filter((item) => this.shouldDisplayThumbnail(item));
|
||||||
return (Utils.imageCheck(item.name) || (enableVideoThumbnail && Utils.videoCheck(item.name)) || (enablePDFThumbnail && Utils.pdfCheck(item.name))) && !item.encoded_thumbnail_src;
|
|
||||||
});
|
|
||||||
if (items.length == 0) {
|
if (items.length == 0) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const len = items.length;
|
const len = items.length;
|
||||||
const thumbnailSize = 48;
|
const thumbnailSize = 48;
|
||||||
@@ -1458,30 +1459,34 @@ class LibContentView extends React.Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
onFileUploadSuccess = (direntObject) => {
|
onFileUploadSuccess = (direntObject) => {
|
||||||
let isExist = this.state.direntList.some(item => {
|
const isExist = this.state.direntList.some(item => item.name === direntObject.name && item.type === direntObject.type );
|
||||||
return item.name === direntObject.name && item.type === direntObject.type;
|
|
||||||
});
|
|
||||||
if (isExist) {
|
if (isExist) {
|
||||||
let direntList = this.state.direntList;
|
const updatedDirentList = this.state.direntList.map(dirent => {
|
||||||
for (let i = 0; i < direntList.length; i++) {
|
|
||||||
let dirent = direntList[i];
|
|
||||||
if (dirent.name === direntObject.name && dirent.type === direntObject.type) {
|
if (dirent.name === direntObject.name && dirent.type === direntObject.type) {
|
||||||
let mtime = moment.unix(direntObject.mtime).fromNow();
|
const mtime = moment.unix(direntObject.mtime).fromNow();
|
||||||
this.updateDirent(dirent, 'mtime', mtime); // todo file size is need update too, api is not return;
|
|
||||||
break;
|
return this.updateDirent(dirent, 'mtime', mtime); // Note: Consider updating file size here as well
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return dirent;
|
||||||
|
});
|
||||||
|
|
||||||
|
this.setState({ direntList: updatedDirentList });
|
||||||
} else {
|
} else {
|
||||||
// use current dirent parent's permission as it's permission
|
// use current dirent parent's permission as it's permission
|
||||||
direntObject.permission = this.state.userPerm;
|
direntObject.permission = this.state.userPerm;
|
||||||
let dirent = new Dirent(direntObject);
|
const dirent = new Dirent(direntObject);
|
||||||
|
|
||||||
|
this.setState(prevState => ({
|
||||||
|
direntList: direntObject.type === 'dir' ? [dirent, ...prevState.direntList] : [...prevState.direntList, dirent]
|
||||||
|
}));
|
||||||
|
|
||||||
if (this.state.isTreePanelShown) {
|
if (this.state.isTreePanelShown) {
|
||||||
this.addNodeToTree(dirent.name, this.state.path, dirent.type);
|
this.addNodeToTree(dirent.name, this.state.path, dirent.type);
|
||||||
}
|
}
|
||||||
if (direntObject.type === 'dir') {
|
|
||||||
this.setState({ direntList: [dirent, ...this.state.direntList] });
|
if (direntObject.type !== 'dir') {
|
||||||
} else {
|
this.loadDirentList(this.state.path);
|
||||||
this.setState({ direntList: [...this.state.direntList, dirent] });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user