@material-ui/core
Version:
React components that implement Google's Material Design.
29 lines (22 loc) • 668 B
JavaScript
function createRippleHandler(instance, eventName, action, cb) {
return function handleEvent(event) {
if (cb) {
cb.call(instance, event);
}
let ignore = false; // Ignore events that have been `event.preventDefault()` marked.
if (event.defaultPrevented) {
ignore = true;
}
if (instance.props.disableTouchRipple && eventName !== 'Blur') {
ignore = true;
}
if (!ignore && instance.ripple) {
instance.ripple[action](event);
}
if (typeof instance.props[`on${eventName}`] === 'function') {
instance.props[`on${eventName}`](event);
}
return true;
};
}
export default createRippleHandler;