Files
wallabag/assets/controllers/materialize/fab_controller.js
2026-03-10 14:04:05 +01:00

32 lines
684 B
JavaScript

import { Controller } from '@hotwired/stimulus';
import M from '@materializecss/materialize';
export default class extends Controller {
connect() {
this.instance = M.FloatingActionButton.init(this.element, {
direction: 'left',
hoverEnabled: false,
});
}
autoDisplay() {
const scrolled = (window.innerHeight + window.scrollY) >= document.body.offsetHeight;
if (scrolled) {
this.toggleScroll = true;
this.instance.open();
} else if (this.toggleScroll === true) {
this.toggleScroll = false;
this.instance.close();
}
}
click() {
this.dispatch('click');
}
disconnect() {
this.instance.destroy();
}
}