mirror of
https://github.com/zoriya/react-native-svg.git
synced 2025-12-20 22:05:14 +00:00
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
import { responderProps, touchableProps } from "../props";
|
|
import _ from "lodash";
|
|
|
|
export default function(props, ref) {
|
|
const extractedProps = {};
|
|
|
|
_.forEach(responderProps, (v, key) => {
|
|
const value = props[key];
|
|
if (props[key]) {
|
|
if (!extractedProps.responsible && key !== "pointerEvents") {
|
|
extractedProps.responsible = true;
|
|
}
|
|
|
|
extractedProps[key] = value;
|
|
}
|
|
});
|
|
|
|
_.every(touchableProps, (v, key) => {
|
|
if (!props[key]) {
|
|
return true;
|
|
}
|
|
|
|
extractedProps.responsible = true;
|
|
Object.assign(extractedProps, {
|
|
onStartShouldSetResponder:
|
|
ref.touchableHandleStartShouldSetResponder,
|
|
onResponderTerminationRequest:
|
|
ref.touchableHandleResponderTerminationRequest,
|
|
onResponderGrant: ref.touchableHandleResponderGrant,
|
|
onResponderMove: ref.touchableHandleResponderMove,
|
|
onResponderRelease: ref.touchableHandleResponderRelease,
|
|
onResponderTerminate: ref.touchableHandleResponderTerminate
|
|
});
|
|
|
|
return false;
|
|
});
|
|
|
|
return extractedProps;
|
|
}
|