Files
react-native-svg/elements/Shape.js
2016-06-09 23:30:10 +08:00

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;