Files
michaelschiemer/resources/js/modules/example-module/index.js

38 lines
1016 B
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// modules/example-module/index.js
import { registerFrameTask, unregisterFrameTask } from '../../core/frameloop.js';
let frameId = 'example-module';
let resizeHandler = null;
export function init(config = {}) {
console.log('[example-module] init');
// z.B. Event-Listener hinzufügen
resizeHandler = () => {
console.log('Fenstergröße geändert');
};
window.addEventListener('resize', resizeHandler);
// Scroll- oder Frame-Logik
registerFrameTask(frameId, () => {
// wiederkehrende Aufgabe
const scrollY = window.scrollY;
// ggf. transformieren oder Werte speichern
}, { autoStart: true });
}
export function destroy() {
console.log('[example-module] destroy');
// EventListener entfernen
if (resizeHandler) {
window.removeEventListener('resize', resizeHandler);
resizeHandler = null;
}
// FrameTask entfernen
unregisterFrameTask(frameId);
// weitere Aufräumarbeiten, z.B. Observer disconnect
}