mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-23 20:37:42 +00:00
[a11y] my libs: added 'keyboard access' for 'star/unstar', op menu & ops
This commit is contained in:
@@ -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 (
|
||||
<Dropdown isOpen={this.state.isItemMenuShow} toggle={this.toggleOperationMenu}>
|
||||
<DropdownToggle
|
||||
tag="i"
|
||||
className="sf-dropdown-toggle sf2-icon-caret-down"
|
||||
className="sf-dropdown-toggle sf2-icon-caret-down border-0 p-0"
|
||||
title={gettext('More Operations')}
|
||||
// onClick={this.clickOperationMenuToggle}
|
||||
onClick={this.onDropdownToggleClick}
|
||||
onKeyDown={this.onDropdownToggleKeyDown}
|
||||
data-toggle="dropdown"
|
||||
aria-expanded={this.state.isItemMenuShow}
|
||||
aria-haspopup={true}
|
||||
style={{'minWidth': '0'}}
|
||||
/>
|
||||
<DropdownMenu>
|
||||
{operations.map((item, index)=> {
|
||||
if (item == 'Divider') {
|
||||
return <DropdownItem key={index} divider />;
|
||||
} else {
|
||||
return (<DropdownItem key={index} data-toggle={item} onClick={this.onMenuItemClick}>{this.translateOperations(item)}</DropdownItem>);
|
||||
return (<DropdownItem key={index} data-toggle={item} onClick={this.onMenuItemClick} onKeyDown={this.onMenuItemKeyDown}>{this.translateOperations(item)}</DropdownItem>);
|
||||
}
|
||||
})}
|
||||
</DropdownMenu>
|
||||
|
Reference in New Issue
Block a user