UNPKG

@ima/react-page-renderer

Version:

IMA.js React page renderer.

41 lines (40 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useWindowEvent", { enumerable: true, get: function() { return useWindowEvent; } }); const _react = require("react"); const _componentUtils = require("./componentUtils"); function useWindowEvent(eventTarget, event, listener, useCapture) { const { $Window } = (0, _componentUtils.useComponentUtils)(); const window = $Window.getWindow(); (0, _react.useEffect)(()=>{ if (eventTarget && event && listener) { $Window.bindEventListener(eventTarget, event, listener, useCapture); } return ()=>{ if (eventTarget && event && listener) { $Window.unbindEventListener(eventTarget, event, listener, useCapture); } }; }, [ $Window, eventTarget, event, listener, useCapture ]); return (0, _react.useMemo)(()=>({ window, dispatchEvent: (event)=>window?.dispatchEvent(event), createCustomEvent: (name, options)=>$Window.createCustomEvent(name, options) }), [ $Window ]); } //# sourceMappingURL=windowEvent.js.map