1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-01 07:01:12 +00:00

Improve move and copy dialog ui components (#6467)

* implement catalog view in move dialog

* update move dialog ui components

* improve move dialog ui

* remove debug info

* improve copy dialog ui

* improve search view ui in move and copy dialog, refactor part of file-chooser.js and file-chooser.css

* handle cases where repo_name is too long, truncate text with an ellipsis, remove search container border

* handle cases where repo_name too long in search result item

* update move and dialog ui details

* add radius to repo list item
This commit is contained in:
Aries
2024-08-05 10:48:16 +08:00
committed by GitHub
parent 044124e2d8
commit 8623e01e99
12 changed files with 679 additions and 413 deletions

View File

@@ -715,6 +715,27 @@ class LibContentView extends React.Component {
});
};
updateRecentlyUsedRepos = (destRepo) => {
const recentlyUsed = JSON.parse(localStorage.getItem('recently-used-repos')) || [];
const updatedRecentlyUsed = [destRepo, ...recentlyUsed.filter(repo => repo.repo_id !== destRepo.repo_id)];
const seen = new Set();
const filteredRecentlyUsed = updatedRecentlyUsed.filter(repo => {
if (seen.has(repo.repo_id)) {
return false;
} else {
seen.add(repo.repo_id);
return true;
}
});
if (filteredRecentlyUsed.length > 10) {
updatedRecentlyUsed.pop(); // Limit to 10 recent directories
}
localStorage.setItem('recently-used-repos', JSON.stringify(filteredRecentlyUsed));
};
// toolbar operations
onMoveItems = (destRepo, destDirentPath) => {
let repoID = this.props.repoID;
@@ -722,6 +743,7 @@ class LibContentView extends React.Component {
let dirNames = this.getSelectedDirentNames();
let direntPaths = this.getSelectedDirentPaths();
seafileAPI.moveDir(repoID, destRepo.repo_id, destDirentPath, this.state.path, dirNames).then(res => {
if (repoID !== destRepo.repo_id) {
this.setState({
@@ -753,6 +775,8 @@ class LibContentView extends React.Component {
toaster.success(message);
}
this.updateRecentlyUsedRepos(destRepo);
}).catch((error) => {
if (!error.response.data.lib_need_decrypt) {
let errMessage = Utils.getErrorMsg(error);
@@ -1222,6 +1246,9 @@ class LibContentView extends React.Component {
message = message.replace('{name}', dirName);
toaster.success(message);
}
this.updateRecentlyUsedRepos(destRepo);
}).catch((error) => {
if (!error.response.data.lib_need_decrypt) {
let errMessage = Utils.getErrorMsg(error);