mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-20 13:49:39 +02:00
* chore: add formatting and linting for javascript code relates to #1295 * use spaces instaed * add to recommended extensions * only enforce lint * auto save
This commit is contained in:
parent
fa3b8b078c
commit
4ad28d6eff
30 changed files with 740 additions and 377 deletions
|
@ -1,39 +1,40 @@
|
|||
import { Controller } from "@hotwired/stimulus"
|
||||
import { Controller } from "@hotwired/stimulus";
|
||||
|
||||
// Connects to data-controller="list-keyboard-navigation"
|
||||
export default class extends Controller {
|
||||
focusPrevious() {
|
||||
this.focusLinkTargetInDirection(-1)
|
||||
this.focusLinkTargetInDirection(-1);
|
||||
}
|
||||
|
||||
focusNext() {
|
||||
this.focusLinkTargetInDirection(1)
|
||||
this.focusLinkTargetInDirection(1);
|
||||
}
|
||||
|
||||
focusLinkTargetInDirection(direction) {
|
||||
const element = this.getLinkTargetInDirection(direction)
|
||||
element?.focus()
|
||||
const element = this.getLinkTargetInDirection(direction);
|
||||
element?.focus();
|
||||
}
|
||||
|
||||
getLinkTargetInDirection(direction) {
|
||||
const indexOfLastFocus = this.indexOfLastFocus()
|
||||
let nextIndex = (indexOfLastFocus + direction) % this.focusableLinks.length
|
||||
if (nextIndex < 0) nextIndex = this.focusableLinks.length - 1
|
||||
|
||||
return this.focusableLinks[nextIndex]
|
||||
const indexOfLastFocus = this.indexOfLastFocus();
|
||||
let nextIndex = (indexOfLastFocus + direction) % this.focusableLinks.length;
|
||||
if (nextIndex < 0) nextIndex = this.focusableLinks.length - 1;
|
||||
|
||||
return this.focusableLinks[nextIndex];
|
||||
}
|
||||
|
||||
indexOfLastFocus(targets = this.focusableLinks) {
|
||||
const indexOfActiveElement = targets.indexOf(document.activeElement)
|
||||
const indexOfActiveElement = targets.indexOf(document.activeElement);
|
||||
|
||||
if (indexOfActiveElement !== -1) {
|
||||
return indexOfActiveElement
|
||||
} else {
|
||||
return targets.findIndex(target => target.getAttribute("tabindex") === "0")
|
||||
return indexOfActiveElement;
|
||||
}
|
||||
return targets.findIndex(
|
||||
(target) => target.getAttribute("tabindex") === "0",
|
||||
);
|
||||
}
|
||||
|
||||
get focusableLinks() {
|
||||
return Array.from(this.element.querySelectorAll("a[href]"))
|
||||
return Array.from(this.element.querySelectorAll("a[href]"));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue