mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-09 19:01:42 +00:00
fix move to another repo failed (#6496)
This commit is contained in:
@@ -523,7 +523,6 @@ class FileChooser extends React.Component {
|
|||||||
<div className="list-view">
|
<div className="list-view">
|
||||||
<RecentlyUsedListView
|
<RecentlyUsedListView
|
||||||
recentlyUsedList={recentlyUsedList}
|
recentlyUsedList={recentlyUsedList}
|
||||||
selectedRepo={selectedRepo}
|
|
||||||
onDirentItemClick={this.onDirentItemClick}
|
onDirentItemClick={this.onDirentItemClick}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
const RecentlyUsedListItem = ({ path, isSelected, onItemClick }) => {
|
const RecentlyUsedListItem = ({ item, isSelected, onItemClick }) => {
|
||||||
const title = path.split('/').pop();
|
const title = item.path.split('/').pop();
|
||||||
|
|
||||||
const handleItemClick = () => {
|
const handleItemClick = () => {
|
||||||
onItemClick(path);
|
onItemClick(item.repo, item.path);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@@ -1,22 +1,22 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import RecentlyUsedListItem from './recently-used-list-item';
|
import RecentlyUsedListItem from './recently-used-list-item';
|
||||||
|
|
||||||
const RecentlyUsedListView = ({ recentlyUsedList, selectedRepo, onDirentItemClick }) => {
|
const RecentlyUsedListView = ({ recentlyUsedList, onDirentItemClick }) => {
|
||||||
const [selectedItem, setSelectedItem] = useState(null);
|
const [selectedItem, setSelectedItem] = useState(null);
|
||||||
|
|
||||||
const onItemClick = (path) => {
|
const onItemClick = (repo, path) => {
|
||||||
setSelectedItem(path);
|
setSelectedItem(path);
|
||||||
onDirentItemClick(selectedRepo, path);
|
onDirentItemClick(repo, path);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ul className="list-view-content file-chooser-item" >
|
<ul className="list-view-content file-chooser-item" >
|
||||||
{recentlyUsedList.length > 0 && recentlyUsedList.map((path, index) => {
|
{recentlyUsedList.length > 0 && recentlyUsedList.map((item, index) => {
|
||||||
return (
|
return (
|
||||||
<RecentlyUsedListItem
|
<RecentlyUsedListItem
|
||||||
key={index}
|
key={index}
|
||||||
path={path}
|
item={item}
|
||||||
isSelected={selectedItem === path}
|
isSelected={selectedItem === item.path}
|
||||||
onItemClick={onItemClick}
|
onItemClick={onItemClick}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@@ -715,16 +715,16 @@ class LibContentView extends React.Component {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
updateRecentlyUsedRepos = (destPath) => {
|
updateRecentlyUsedRepos = (repo, destPath) => {
|
||||||
const recentlyUsed = JSON.parse(localStorage.getItem('recently-used-list')) || [];
|
const recentlyUsed = JSON.parse(localStorage.getItem('recently-used-list')) || [];
|
||||||
const updatedRecentlyUsed = [destPath, ...recentlyUsed.filter(path => path !== destPath)];
|
const updatedRecentlyUsed = [{ repo: repo, path: destPath }, ...recentlyUsed.filter(item => item.path !== destPath)];
|
||||||
|
|
||||||
const seen = new Set();
|
const seen = new Set();
|
||||||
const filteredRecentlyUsed = updatedRecentlyUsed.filter(path => {
|
const filteredRecentlyUsed = updatedRecentlyUsed.filter(item => {
|
||||||
if (seen.has(path)) {
|
if (seen.has(item.path)) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
seen.add(path);
|
seen.add(item.path);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -775,7 +775,7 @@ class LibContentView extends React.Component {
|
|||||||
toaster.success(message);
|
toaster.success(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.updateRecentlyUsedRepos(destDirentPath);
|
this.updateRecentlyUsedRepos(destRepo, destDirentPath);
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
if (!error.response.data.lib_need_decrypt) {
|
if (!error.response.data.lib_need_decrypt) {
|
||||||
@@ -1247,7 +1247,7 @@ class LibContentView extends React.Component {
|
|||||||
toaster.success(message);
|
toaster.success(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.updateRecentlyUsedRepos(moveToDirentPath);
|
this.updateRecentlyUsedRepos(destRepo, moveToDirentPath);
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
if (!error.response.data.lib_need_decrypt) {
|
if (!error.response.data.lib_need_decrypt) {
|
||||||
|
Reference in New Issue
Block a user