Sha256: 2b5b5299335926e93be351047b7e72cf3737f2981cfce9c62b0a4c953ca8743e
Contents?: true
Size: 1.49 KB
Versions: 10
Compression:
Stored size: 1.49 KB
Contents
// application_controller.js import { Controller } from '@hotwired/stimulus' export default class ApplicationController extends Controller { connect () { this.element[this.identifier] = this } getController (element, identifier) { return this.application.getControllerForElementAndIdentifier(element, identifier) } triggerEvent (el, name, data) { let event if (typeof window.CustomEvent === 'function') { event = new CustomEvent(name, { detail: data, cancelable: true, bubbles: true }) } else { event = document.createEvent('CustomEvent') event.initCustomEvent(name, true, true, data) } el.dispatchEvent(event) } elementScrolled (element) { if (element.scrollHeight - Math.round(element.scrollTop) === element.clientHeight) { return true } return false } debouncedHover (element, timeout, handler) { var timeoutId = null element.addEventListener(marker, 'mouseover', function () { timeoutId = setTimeout(handler, timeout) }) element.addEventListener(marker, 'mouseout', function () { clearTimeout(timeoutId) }) } get ourUrl () { // This requires the mensaTableOutlet let turboFrame = this.mensaTableOutlet?.turboFrameTarget if(!turboFrame) { turboFrame = this.turboFrameTarget } let url if (turboFrame && turboFrame.getAttribute('src')) { url = new URL(turboFrame.getAttribute('src')) } else { url = new URL(window.location.href) } return url } }
Version data entries
10 entries across 10 versions & 1 rubygems