Skip to content

Commit

Permalink
simplify tabs keyboard handler
Browse files Browse the repository at this point in the history
  • Loading branch information
basher committed Apr 22, 2024
1 parent eccd7c4 commit 53fef6b
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 7 deletions.
4 changes: 2 additions & 2 deletions ui/npm-shrinkwrap.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "web-ui-boilerplate",
"description": "UI boilerplate for websites/webapps using vanilla HTML/CSS/JavaScript, powered by Storybook, bundled by Parcel.",
"author": "basher",
"version": "3.1.4",
"version": "3.1.5",
"license": "ISC",
"repository": {
"type": "git",
Expand Down
6 changes: 2 additions & 4 deletions ui/src/javascript/web-components/webui-tabs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,30 +105,28 @@ export default class WebUITabs extends HTMLElement {

private bindKeyboardEvent(e: KeyboardEvent, index: number): void {
// Stop page jumping with certain key events with 'e.preventDefault()'.
e.preventDefault();

switch (e.code) {
case 'ArrowRight':
e.preventDefault();
if (this.tabTriggers.length - index > 1) {
this.tabTriggers[index + 1].focus();
this.tabTriggers[index + 1].click();
}
break;
case 'ArrowLeft':
e.preventDefault();
if (index > 0) {
this.tabTriggers[index - 1].focus();
this.tabTriggers[index - 1].click();
}
break;
case 'Home':
e.preventDefault();
if (index !== 0) {
this.tabTriggers[0].focus();
this.tabTriggers[0].click();
}
break;
case 'End':
e.preventDefault();
if (index !== this.tabTriggers.length - 1) {
this.tabTriggers[this.tabTriggers.length - 1].focus();
this.tabTriggers[this.tabTriggers.length - 1].click();
Expand Down

0 comments on commit 53fef6b

Please sign in to comment.