diff --git a/frontend/src/components/dir-view/dir-panel.js b/frontend/src/components/dir-view/dir-panel.js
index e8850742b5..f8c6b81a3b 100644
--- a/frontend/src/components/dir-view/dir-panel.js
+++ b/frontend/src/components/dir-view/dir-panel.js
@@ -68,6 +68,16 @@ class DirPanel extends React.Component {
}
}
+ onPathClick = (path) => {
+ this.setState({isDirentDetailShow: false});
+ this.props.onPathClick(path);
+ }
+
+ onItemClick = (dirent) => {
+ this.setState({isDirentDetailShow: false});
+ this.props.onItemClick(dirent);
+ }
+
onItemDetails = (dirent) => {
this.setState({
currentDirent: dirent,
@@ -157,7 +167,7 @@ class DirPanel extends React.Component {
pathPrefix={this.props.pathPrefix}
currentPath={this.props.path}
permission={this.props.permission}
- onPathClick={this.props.onPathClick}
+ onPathClick={this.onPathClick}
onTabNavClick={this.props.onTabNavClick}
/>
@@ -180,7 +190,7 @@ class DirPanel extends React.Component {
onItemDetails={this.onItemDetails}
onItemMove={this.props.onItemMove}
onItemCopy={this.props.onItemCopy}
- onItemClick={this.props.onItemClick}
+ onItemClick={this.onItemClick}
onItemDelete={this.props.onItemDelete}
onItemRename={this.props.onItemRename}
onItemSelected={this.props.onItemSelected}
diff --git a/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js b/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js
index 6a6f8655f3..1b9eb38064 100644
--- a/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js
+++ b/frontend/src/components/shared-repo-list-view/shared-repo-list-item.js
@@ -15,6 +15,7 @@ const propTypes = {
isItemFreezed: PropTypes.bool.isRequired,
onFreezedItem: PropTypes.func.isRequired,
onItemUnshare: PropTypes.func.isRequired,
+ onItmeDetails: PropTypes.func,
};
class SharedRepoListItem extends React.Component {
@@ -131,7 +132,7 @@ class SharedRepoListItem extends React.Component {
}
onItemDetails = () => {
- // todo
+ this.props.onItemDetails(this.props.repo);
}
onItemShare = () => {
diff --git a/frontend/src/components/shared-repo-list-view/shared-repo-list-view.js b/frontend/src/components/shared-repo-list-view/shared-repo-list-view.js
index fc5be35bd8..63719117da 100644
--- a/frontend/src/components/shared-repo-list-view/shared-repo-list-view.js
+++ b/frontend/src/components/shared-repo-list-view/shared-repo-list-view.js
@@ -10,6 +10,7 @@ const propTypes = {
repoList: PropTypes.array.isRequired,
onItemUnshare: PropTypes.func.isRequired,
onItemDelete: PropTypes.func.isRequired,
+ onItemDetails: PropTypes.func,
};
class SharedRepoListView extends React.Component {
@@ -41,6 +42,7 @@ class SharedRepoListView extends React.Component {
onFreezedItem={this.onFreezedItem}
onItemUnshare={this.props.onItemUnshare}
onItemDelete={this.props.onItemDelete}
+ onItemDetails={this.props.onItemDetails}
/>
);
})}
diff --git a/frontend/src/pages/groups/group-view.js b/frontend/src/pages/groups/group-view.js
index 2be30c750c..8677ea3f29 100644
--- a/frontend/src/pages/groups/group-view.js
+++ b/frontend/src/pages/groups/group-view.js
@@ -17,6 +17,8 @@ import TransferGroupDialog from '../../components/dialog/transfer-group-dialog';
// import ImportMembersDialog from '../../components/dialog/import-members-dialog';
import ManageMembersDialog from '../../components/dialog/manage-members-dialog';
import SharedRepoListView from '../../components/shared-repo-list-view/shared-repo-list-view';
+import LibDetail from '../../components/dirent-detail/lib-details';
+
import '../../css/group-view.css';
const propTypes = {
@@ -37,6 +39,7 @@ class GroupView extends React.Component {
errMessage: '',
emptyTip: null,
currentGroup: null,
+ currentRepo: null,
isStaff: false,
isOwner: false,
repoList: [],
@@ -51,6 +54,7 @@ class GroupView extends React.Component {
// showImportMembersDialog: false,
showManageMembersDialog: false,
groupMembers: [],
+ isShowDetails: false,
};
}
@@ -298,6 +302,17 @@ class GroupView extends React.Component {
}
}
+ onItemDetails = (repo) => {
+ this.setState({
+ isShowDetails: true,
+ currentRepo: repo,
+ });
+ }
+
+ closeDetails = () => {
+ this.setState({isShowDetails: false});
+ }
+
render() {
let { errMessage, emptyTip, currentGroup } = this.state;
let isShowSettingIcon = !(currentGroup && currentGroup.parent_group_id !== 0 && currentGroup.admins.indexOf(username) === -1);
@@ -314,7 +329,7 @@ class GroupView extends React.Component {