1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-16 16:21:48 +00:00
seahub/frontend/src/components/dir-view-mode/dir-grid-view.js

95 lines
3.5 KiB
JavaScript
Raw Normal View History

2019-04-18 14:36:07 +00:00
import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import RepoInfoBar from '../../components/repo-info-bar';
import DirentGridView from '../../components/dirent-grid-view/dirent-grid-view';
import DirentNoneView from '../../components/dirent-list-view/dirent-none-view';
const propTypes = {
2019-04-18 14:36:07 +00:00
path: PropTypes.string.isRequired,
repoID: PropTypes.string.isRequired,
currentRepoInfo: PropTypes.object.isRequired,
usedRepoTags: PropTypes.array.isRequired,
updateUsedRepoTags: PropTypes.func.isRequired,
direntList: PropTypes.array.isRequired,
onItemClick: PropTypes.func.isRequired,
onGridItemClick: PropTypes.func,
onAddFile: PropTypes.func.isRequired,
onItemDelete: PropTypes.func.isRequired,
onItemMove: PropTypes.func.isRequired,
onItemCopy: PropTypes.func.isRequired,
2023-09-14 06:36:58 +00:00
onItemConvert: PropTypes.func.isRequired,
2019-04-18 14:36:07 +00:00
onRenameNode: PropTypes.func.isRequired,
isGroupOwnedRepo: PropTypes.bool.isRequired,
userPerm: PropTypes.string,
2019-04-18 14:36:07 +00:00
isRepoInfoBarShow: PropTypes.bool.isRequired,
isDirentListLoading: PropTypes.bool.isRequired,
isDirentDetailShow: PropTypes.bool.isRequired,
enableDirPrivateShare: PropTypes.bool.isRequired,
updateDirent: PropTypes.func.isRequired,
showDirentDetail: PropTypes.func.isRequired,
onAddFolder: PropTypes.func.isRequired,
repoTags: PropTypes.array.isRequired,
2019-04-22 10:34:36 +00:00
onFileTagChanged: PropTypes.func,
onItemRename: PropTypes.func.isRequired,
fullDirentList: PropTypes.array,
};
class DirGridView extends React.Component {
render() {
2019-04-18 14:36:07 +00:00
if (this.props.path === '/' && this.props.direntList.length === 0) {
return (
<DirentNoneView
2019-04-18 14:36:07 +00:00
path={this.props.path}
isDirentListLoading={this.props.isDirentListLoading}
onAddFile={this.props.onAddFile}
currentRepoInfo={this.props.currentRepoInfo}
2019-04-18 14:36:07 +00:00
/>
);
}
return (
2019-04-18 14:36:07 +00:00
<Fragment>
{this.props.isRepoInfoBarShow && (
<RepoInfoBar
2019-04-18 14:36:07 +00:00
repoID={this.props.repoID}
currentPath={this.props.path}
usedRepoTags={this.props.usedRepoTags}
updateUsedRepoTags={this.props.updateUsedRepoTags}
2019-04-22 10:34:36 +00:00
onFileTagChanged={this.props.onFileTagChanged}
2019-04-18 14:36:07 +00:00
/>
)}
<DirentGridView
path={this.props.path}
repoID={this.props.repoID}
currentRepoInfo={this.props.currentRepoInfo}
isGroupOwnedRepo={this.props.isGroupOwnedRepo}
userPerm={this.props.userPerm}
2019-04-18 14:36:07 +00:00
enableDirPrivateShare={this.props.enableDirPrivateShare}
direntList={this.props.direntList}
fullDirentList={this.props.fullDirentList}
2019-04-18 14:36:07 +00:00
onAddFile={this.props.onAddFile}
onItemClick={this.props.onItemClick}
onItemDelete={this.props.onItemDelete}
onItemMove={this.props.onItemMove}
onItemCopy={this.props.onItemCopy}
2023-09-14 06:36:58 +00:00
onItemConvert={this.props.onItemConvert}
2019-04-18 14:36:07 +00:00
isDirentListLoading={this.props.isDirentListLoading}
updateDirent={this.props.updateDirent}
onRenameNode={this.props.onRenameNode}
showDirentDetail={this.props.showDirentDetail}
onGridItemClick={this.props.onGridItemClick}
isDirentDetailShow={this.props.isDirentDetailShow}
onItemRename={this.props.onItemRename}
onAddFolder={this.props.onAddFolder}
repoTags={this.props.repoTags}
onFileTagChanged={this.props.onFileTagChanged}
2019-04-18 14:36:07 +00:00
/>
</Fragment>
);
}
}
DirGridView.propTypes = propTypes;
export default DirGridView;