mighty-webcamjs
Version:
HTML5 Webcam Image Capture Library with Flash Fallback
36 lines (31 loc) • 895 B
JavaScript
const React = require('react');
const PropTypes = require('prop-types');
const atom = require('atom-js');
const BaseComponent = require('./BaseComponent.js');
class SwitchCameraButton extends BaseComponent {
static propTypes = {
cssPrefix: PropTypes.string.isRequired,
live: PropTypes.bool.isRequired,
model: PropTypes.object.isRequired,
switch_camera_node: PropTypes.node.isRequired,
webcam: PropTypes.object.isRequired,
};
handleClick = () => {
const { webcam } = this.props;
webcam.switchCamera().then(() => {
webcam.reattach();
});
}
render() {
return (
<button
disabled={ !this.props.live }
className={ `${this.props.cssPrefix}__switch-camera-button` }
onClick={ this.handleClick }
>
{ this.props.switch_camera_node }
</button>
);
}
}
module.exports = atom.reactConnect('model', ['live', 'switch_camera_node'])(SwitchCameraButton);