Files
cannaiq/frontend/node_modules/recharts/es6/state/externalEventsMiddleware.js
2025-11-28 19:45:44 -07:00

22 lines
1.0 KiB
JavaScript

import { createAction, createListenerMiddleware } from '@reduxjs/toolkit';
import { selectActiveLabel, selectActiveTooltipCoordinate, selectActiveTooltipDataKey, selectActiveTooltipIndex, selectIsTooltipActive } from './selectors/tooltipSelectors';
export var externalEventAction = createAction('externalEvent');
export var externalEventsMiddleware = createListenerMiddleware();
externalEventsMiddleware.startListening({
actionCreator: externalEventAction,
effect: (action, listenerApi) => {
if (action.payload.handler == null) {
return;
}
var state = listenerApi.getState();
var nextState = {
activeCoordinate: selectActiveTooltipCoordinate(state),
activeDataKey: selectActiveTooltipDataKey(state),
activeIndex: selectActiveTooltipIndex(state),
activeLabel: selectActiveLabel(state),
activeTooltipIndex: selectActiveTooltipIndex(state),
isTooltipActive: selectIsTooltipActive(state)
};
action.payload.handler(nextState, action.payload.reactEvent);
}
});