1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-05 00:43:53 +00:00

Standard loading (#3557)

* Loading circle

* Fix compilation warning

* Change cur-view-content from display:flex to display:block
This commit is contained in:
zxj96
2019-05-28 15:16:27 +08:00
committed by Daniel Pan
parent b0ae1d7812
commit 3959433a8f
6 changed files with 17 additions and 19 deletions

View File

@@ -301,7 +301,7 @@ class FileChooser extends React.Component {
let selectedItemInfo = { let selectedItemInfo = {
repoID: item.repo_id, repoID: item.repo_id,
filePath: item.path, filePath: item.path,
} };
this.setState({ this.setState({
selectedItemInfo: selectedItemInfo selectedItemInfo: selectedItemInfo

View File

@@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import TreeListView from './tree-list-view' import TreeListView from './tree-list-view';
import TreeNode from '../../components/tree-view/tree-node'; import TreeNode from '../../components/tree-view/tree-node';
import Dirent from '../../models/dirent'; import Dirent from '../../models/dirent';
@@ -34,10 +34,10 @@ class RepoListItem extends React.Component {
let repoID = this.props.repo.repo_id; let repoID = this.props.repo.repo_id;
seafileAPI.listDir(repoID, '/').then(res => { seafileAPI.listDir(repoID, '/').then(res => {
let tree = this.state.treeData.clone(); let tree = this.state.treeData.clone();
let direntList = res.data.dirent_list.filter(item => item.type === 'dir') let direntList = res.data.dirent_list.filter(item => item.type === 'dir');
this.addResponseListToNode(direntList, tree.root); this.addResponseListToNode(direntList, tree.root);
this.setState({treeData: tree}); this.setState({treeData: tree});
}) });
if (this.props.selectedItemInfo.repoID === this.props.repo.repo_id) { if (this.props.selectedItemInfo.repoID === this.props.repo.repo_id) {
this.setState({isShowChildren: true}); this.setState({isShowChildren: true});
@@ -65,7 +65,7 @@ class RepoListItem extends React.Component {
node = tree.getNodeByPath(node.path); node = tree.getNodeByPath(node.path);
if (!node.isLoaded) { if (!node.isLoaded) {
seafileAPI.listDir(repoID, node.path).then(res => { seafileAPI.listDir(repoID, node.path).then(res => {
let direntList = res.data.dirent_list.filter(item => item.type === 'dir') let direntList = res.data.dirent_list.filter(item => item.type === 'dir');
this.addResponseListToNode(direntList, node); this.addResponseListToNode(direntList, node);
this.setState({treeData: tree}); this.setState({treeData: tree});
}); });

View File

@@ -34,13 +34,13 @@ class SearchedListView extends React.Component {
<tbody> <tbody>
{this.props.searchResults.map((item, index) => { {this.props.searchResults.map((item, index) => {
return ( return (
<SearchedListItem <SearchedListItem
key={index} key={index}
item={item} item={item}
currentItem={this.state.currentItem} currentItem={this.state.currentItem}
onItemClick={this.onItemClick} onItemClick={this.onItemClick}
onSearchedItemDoubleClick={this.props.onSearchedItemDoubleClick} onSearchedItemDoubleClick={this.props.onSearchedItemDoubleClick}
/>); />);
})} })}
</tbody> </tbody>
</table> </table>

View File

@@ -19,7 +19,7 @@ class TreeViewItem extends React.Component {
this.state = { this.state = {
filePath: filePath, filePath: filePath,
} };
} }
onToggleClick = (e) => { onToggleClick = (e) => {
@@ -62,16 +62,15 @@ class TreeViewItem extends React.Component {
node={item} node={item}
onNodeCollapse={this.props.onNodeCollapse} onNodeCollapse={this.props.onNodeCollapse}
onNodeExpanded={this.props.onNodeExpanded} onNodeExpanded={this.props.onNodeExpanded}
onNodeClick={this.props.onTreeNodeClick}
repo={this.props.repo} repo={this.props.repo}
onDirentItemClick={this.props.onDirentItemClick} onDirentItemClick={this.props.onDirentItemClick}
selectedRepo={this.props.selectedRepo} selectedRepo={this.props.selectedRepo}
selectedPath={this.props.selectedPath} selectedPath={this.props.selectedPath}
fileSuffixes={this.props.fileSuffixes} fileSuffixes={this.props.fileSuffixes}
/>) />);
})} })}
</div> </div>
) );
} }
render() { render() {
@@ -80,7 +79,7 @@ class TreeViewItem extends React.Component {
let isCurrentPath = this.props.selectedPath === this.state.filePath; let isCurrentPath = this.props.selectedPath === this.state.filePath;
return( return(
<div className={`file-chooser-item `}> <div className="file-chooser-item">
<div className={`${node.path === '/'? 'hide': ''}`}> <div className={`${node.path === '/'? 'hide': ''}`}>
<span className={`item-toggle fa ${node.isExpanded ? 'fa-caret-down' : 'fa-caret-right'}`} onClick={this.onToggleClick}></span> <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={`item-info ${(isCurrentRepo && isCurrentPath) ? 'item-active' : ''}`} onClick={this.onItemClick}>

View File

@@ -21,7 +21,6 @@ class TreeListView extends React.Component {
node={this.props.treeData.root} node={this.props.treeData.root}
onNodeCollapse={this.props.onNodeCollapse} onNodeCollapse={this.props.onNodeCollapse}
onNodeExpanded={this.props.onNodeExpanded} onNodeExpanded={this.props.onNodeExpanded}
onNodeClick={this.props.onTreeNodeClick}
repo={this.props.repo} repo={this.props.repo}
onDirentItemClick={this.props.onDirentItemClick} onDirentItemClick={this.props.onDirentItemClick}
selectedRepo={this.props.selectedRepo} selectedRepo={this.props.selectedRepo}

View File

@@ -414,7 +414,7 @@ class FilesActivities extends Component {
<div className="cur-view-path"> <div className="cur-view-path">
<h3 className="sf-heading">{gettext('Activities')}</h3> <h3 className="sf-heading">{gettext('Activities')}</h3>
</div> </div>
<div className="cur-view-content" onScroll={this.handleScroll}> <div className="cur-view-content d-block" onScroll={this.handleScroll}>
{this.state.isFirstLoading && <Loading />} {this.state.isFirstLoading && <Loading />}
{(!this.state.isFirstLoading && this.state.errorMsg) && {(!this.state.isFirstLoading && this.state.errorMsg) &&
<p className="error text-center">{this.state.errorMsg}</p> <p className="error text-center">{this.state.errorMsg}</p>