@mui/x-data-grid
Version:
The Community plan edition of the Data Grid components (MUI X).
24 lines (23 loc) • 998 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useGridNativeEventListener = void 0;
var _useGridLogger = require("./useGridLogger");
var _useGridApiEventHandler = require("./useGridApiEventHandler");
const useGridNativeEventListener = (apiRef, ref, eventName, handler, options) => {
const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useNativeEventListener');
(0, _useGridApiEventHandler.useGridApiOptionHandler)(apiRef, 'rootMount', () => {
const targetElement = typeof ref === 'function' ? ref() : ref.current;
if (!targetElement || !eventName || !handler) {
return undefined;
}
logger.debug(`Binding native ${eventName} event`);
targetElement.addEventListener(eventName, handler, options);
return () => {
logger.debug(`Clearing native ${eventName} event`);
targetElement.removeEventListener(eventName, handler, options);
};
});
};
exports.useGridNativeEventListener = useGridNativeEventListener;
;