diff --git a/frontend/src/pages/my-libs/mylib-repo-list-item.js b/frontend/src/pages/my-libs/mylib-repo-list-item.js index 9b2b19355e..b619017c21 100644 --- a/frontend/src/pages/my-libs/mylib-repo-list-item.js +++ b/frontend/src/pages/my-libs/mylib-repo-list-item.js @@ -78,7 +78,7 @@ class MylibRepoListItem extends React.Component { switch(item) { case 'Star': case 'Unstar': - this.onStarRepo(); + this.onToggleStarRepo(); break; case 'Share': this.onShareToggle(); @@ -131,7 +131,8 @@ class MylibRepoListItem extends React.Component { this.props.onRepoClick(this.props.repo); } - onStarRepo = () => { + onToggleStarRepo = (e) => { + e.preventDefault(); const repoName = this.props.repo.repo_name; if (this.state.isStarred) { seafileAPI.unstarItem(this.props.repo.repo_id, '/').then(() => { @@ -278,8 +279,9 @@ class MylibRepoListItem extends React.Component { return ( - {!this.state.isStarred && } - {this.state.isStarred && } + + + {iconTitle} diff --git a/frontend/src/pages/my-libs/mylib-repo-menu.js b/frontend/src/pages/my-libs/mylib-repo-menu.js index a095368fb0..a4208f94fe 100644 --- a/frontend/src/pages/my-libs/mylib-repo-menu.js +++ b/frontend/src/pages/my-libs/mylib-repo-menu.js @@ -27,10 +27,22 @@ class MylibRepoMenu extends React.Component { this.props.onMenuItemClick(operation); } + onMenuItemKeyDown = (e) => { + if (e.key == 'Enter' || e.key == 'Space') { + this.onMenuItemClick(e); + } + } + onDropdownToggleClick = (e) => { this.toggleOperationMenu(e); } + onDropdownToggleKeyDown = (e) => { + if (e.key == 'Enter' || e.key == 'Space') { + this.onDropdownToggleClick(e); + } + } + toggleOperationMenu = (e) => { let dataset = e.target ? e.target.dataset : null; if (dataset && dataset.toggle && dataset.toggle === 'Rename') { @@ -134,19 +146,20 @@ class MylibRepoMenu extends React.Component { return ( {operations.map((item, index)=> { if (item == 'Divider') { return ; } else { - return ({this.translateOperations(item)}); + return ({this.translateOperations(item)}); } })}