import React, {PureComponent} from 'react'; const camelPattern = /(^|[A-Z])[a-z]*/g; const defaultContainer = ({children}) =>
{children}
; export default class ControlPanel extends PureComponent { _formatSettingName(name) { return name.match(camelPattern).join(' '); } _renderCheckbox(name, value) { return (
this.props.onChange(name, evt.target.checked)} />
); } render() { const Container = this.props.containerComponent || defaultContainer; const {settings} = this.props; return (

Custom Controller

Override default event handling logic.

View Code ↗

{this._renderCheckbox('invertZoom', settings.invertZoom)} {this._renderCheckbox('invertPan', settings.invertPan)} {this._renderCheckbox('longPress', settings.longPress)}
); } }