@zohodesk/a11y
Version:
In this Package, We Provide Some Basic Components For Accessibility.
38 lines (27 loc) • 930 B
JavaScript
import { getIframeDocument, handleReadingMaskPostMessage } from '../utils/readingMaskUtils';
class ReadingMaskEventManager {
constructor() {
this.eventListener = null;
}
handleMouseMoveWithIframe(event, iframe) {
handleReadingMaskPostMessage(event, iframe);
}
addMouseMoveListener(iframe) {
const iframeDocument = getIframeDocument(iframe);
const eventHandler = event => this.handleMouseMoveWithIframe(event, iframe);
if (!this.eventListener) {
this.eventListener = eventHandler;
}
if (iframeDocument) {
iframeDocument.addEventListener('mousemove', eventHandler);
}
}
removeMouseMoveListener(iframe) {
const iframeDocument = getIframeDocument(iframe);
if (iframeDocument && this.eventListener) {
iframeDocument.removeEventListener('mousemove', this.eventListener);
}
this.eventListener = null;
}
}
export default ReadingMaskEventManager;