- new simpler modal without bootstrap - new loadingbutton component - cleanupsome old code - toolbar adjusments
38 lines
929 B
JavaScript
38 lines
929 B
JavaScript
// assets/controllers/modal_controller.js
|
|
import { Controller } from "@hotwired/stimulus"
|
|
|
|
export default class extends Controller {
|
|
static targets = ["modal"]
|
|
static values = {
|
|
openTrigger: String,
|
|
closeTrigger: String
|
|
}
|
|
|
|
connect() {
|
|
if (this.hasOpenTriggerValue) {
|
|
document.addEventListener(this.openTriggerValue, this.open.bind(this))
|
|
}
|
|
if (this.hasCloseTriggerValue) {
|
|
document.addEventListener(this.closeTriggerValue, this.close.bind(this))
|
|
}
|
|
}
|
|
|
|
disconnect() {
|
|
if (this.hasOpenTriggerValue) {
|
|
document.removeEventListener(this.openTriggerValue, this.open.bind(this))
|
|
}
|
|
if (this.hasCloseTriggerValue) {
|
|
document.removeEventListener(this.closeTriggerValue, this.close.bind(this))
|
|
}
|
|
}
|
|
|
|
open() {
|
|
console.log("Opening modal...")
|
|
this.modalTarget.classList.remove('hidden')
|
|
}
|
|
|
|
close() {
|
|
this.modalTarget.classList.add('hidden')
|
|
}
|
|
}
|