mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-02-21 20:20:34 +09:00
34 lines
803 B
JavaScript
34 lines
803 B
JavaScript
import { Controller } from "@hotwired/stimulus"
|
|
|
|
export default class extends Controller {
|
|
static classes = [ "reveal", "perform" ]
|
|
static targets = [ "button", "content" ]
|
|
static values = { boosterId: Number }
|
|
|
|
connect() {
|
|
if (this.#currentUserIsBooster) {
|
|
this.#setAccessibleAttributes()
|
|
}
|
|
}
|
|
|
|
reveal() {
|
|
if (this.#currentUserIsBooster) {
|
|
this.element.classList.toggle(this.revealClass)
|
|
this.buttonTarget.focus()
|
|
}
|
|
}
|
|
|
|
perform() {
|
|
this.element.classList.add(this.performClass)
|
|
}
|
|
|
|
#setAccessibleAttributes() {
|
|
this.contentTarget.setAttribute('tabindex', '0')
|
|
this.contentTarget.setAttribute('aria-describedby', 'delete_boost_accessible_label')
|
|
}
|
|
|
|
get #currentUserIsBooster() {
|
|
return Current.user.id === this.boosterIdValue
|
|
}
|
|
}
|