1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-15 14:49:09 +00:00

Merge pull request #3582 from haiwen/repaire_insert_img

Repaire insert img
This commit is contained in:
Daniel Pan
2019-05-30 11:11:22 +08:00
committed by GitHub
4 changed files with 30 additions and 4 deletions

View File

@@ -297,6 +297,9 @@ class FileChooser extends React.Component {
}
onSearchedItemDoubleClick = (item) => {
if (item.type !== 'dir') {
return;
}
let selectedItemInfo = {
repoID: item.repo_id,

View File

@@ -34,7 +34,13 @@ class RepoListItem extends React.Component {
let repoID = this.props.repo.repo_id;
seafileAPI.listDir(repoID, '/').then(res => {
let tree = this.state.treeData.clone();
let direntList = res.data.dirent_list.filter(item => item.type === 'dir');
let direntList = [];
if (this.props.isShowFile === true) {
direntList = res.data.dirent_list;
} else {
direntList = res.data.dirent_list.filter(item => item.type === 'dir');
}
this.addResponseListToNode(direntList, tree.root);
this.setState({treeData: tree});
});
@@ -65,7 +71,12 @@ class RepoListItem extends React.Component {
node = tree.getNodeByPath(node.path);
if (!node.isLoaded) {
seafileAPI.listDir(repoID, node.path).then(res => {
let direntList = res.data.dirent_list.filter(item => item.type === 'dir');
let direntList = [];
if (this.props.isShowFile === true) {
direntList = res.data.dirent_list;
} else {
direntList = res.data.dirent_list.filter(item => item.type === 'dir');
}
this.addResponseListToNode(direntList, node);
this.setState({treeData: tree});
});

View File

@@ -9,6 +9,8 @@ const propTypes = {
node: PropTypes.object.isRequired,
onNodeCollapse: PropTypes.func.isRequired,
onNodeExpanded: PropTypes.func.isRequired,
filePath: PropTypes.string,
fileSuffixes: PropTypes.array,
};
class TreeViewItem extends React.Component {
@@ -78,13 +80,22 @@ class TreeViewItem extends React.Component {
let isCurrentRepo = this.props.selectedRepo.repo_id === this.props.repo.repo_id;
let isCurrentPath = this.props.selectedPath === this.state.filePath;
const fileName = node.object.name;
if (this.props.fileSuffixes && fileName && fileName.indexOf('.') !== -1) {
const suffix = fileName.slice(fileName.lastIndexOf('.') + 1).toLowerCase();
if (!this.props.fileSuffixes.includes(suffix)) return null;
}
return(
<div className="file-chooser-item">
<div className={`${node.path === '/'? 'hide': ''}`}>
<span className={`item-toggle fa ${node.isExpanded ? 'fa-caret-down' : 'fa-caret-right'}`} onClick={this.onToggleClick}></span>
{
node.object.type !== 'file' &&
<span className={`item-toggle fa ${node.isExpanded ? 'fa-caret-down' : 'fa-caret-right'}`} onClick={this.onToggleClick}></span>
}
<span className={`item-info ${(isCurrentRepo && isCurrentPath) ? 'item-active' : ''}`} onClick={this.onItemClick}>
<span className={`icon far ${node.object.type === 'dir' ? 'fa-folder' : 'fa-file'}`}></span>
<span className="name user-select-none ellipsis">{node.object.name}</span>
<span className="name user-select-none ellipsis">{node.object && node.object.name}</span>
</span>
</div>
{node.isExpanded && this.renderChildren()}

View File

@@ -10,6 +10,7 @@ const propTypes = {
treeData: PropTypes.object.isRequired,
onNodeCollapse: PropTypes.func.isRequired,
onNodeExpanded: PropTypes.func.isRequired,
fileSuffixes: PropTypes.array,
};
class TreeListView extends React.Component {