Sha256: 02067ce6e821f2f6dd6a2154f5685ec4cc7b69f9a8c477ff95f1645ea6b312af
Contents?: true
Size: 702 Bytes
Versions: 14
Compression:
Stored size: 702 Bytes
Contents
import { Controller } from "@hotwired/stimulus" export default class extends Controller { static get targets() { return [ "button", "container" ] } connect() { this.scrollElement.addEventListener("scroll", this.load.bind(this)) } disconnect() { this.scrollElement.removeEventListener("scroll", this.load.bind(this)) } load() { if (this.hasButtonTarget) { let top = this.buttonTarget.getBoundingClientRect().top if (top < this.scrollElement.innerHeight + 500) { this.buttonTarget.click() } } } get scrollElement() { if (this.hasContainerTarget) { return this.containerTarget } else { return window } } }
Version data entries
14 entries across 14 versions & 1 rubygems