mirror of
https://github.com/zoriya/react-native-svg.git
synced 2025-12-20 05:55:10 +00:00
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
import {Component} from 'react';
|
|
import extractProps from '../lib/extract/extractProps';
|
|
import SvgTouchableMixin from '../lib/SvgTouchableMixin';
|
|
import _ from 'lodash';
|
|
|
|
class Shape extends Component {
|
|
constructor() {
|
|
super(...arguments);
|
|
_.forEach(SvgTouchableMixin, (method, key) => {
|
|
this[key] = method.bind(this);
|
|
});
|
|
this.state = this.touchableGetInitialState();
|
|
}
|
|
|
|
extractProps = (props) => {
|
|
let extractedProps = extractProps(props);
|
|
if (extractedProps.touchable && !extractedProps.disabled) {
|
|
_.assign(extractedProps, {
|
|
onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder,
|
|
onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest,
|
|
onResponderGrant: this.touchableHandleResponderGrant,
|
|
onResponderMove: this.touchableHandleResponderMove,
|
|
onResponderRelease: this.touchableHandleResponderRelease,
|
|
onResponderTerminate: this.touchableHandleResponderTerminate
|
|
});
|
|
}
|
|
|
|
return extractedProps;
|
|
}
|
|
}
|
|
|
|
export default Shape;
|