* applied eslint * add locales and lint the project * removed error boundary * updated locales * fix min files * fix locales
25 lines
610 B
JavaScript
25 lines
610 B
JavaScript
import React from 'react';
|
|
|
|
const withToggle =
|
|
(stateName = 'open', handlerName = 'switchOpen', initial = false) =>
|
|
(BaseComponent) =>
|
|
class extends React.Component {
|
|
state = {
|
|
toggle: initial,
|
|
};
|
|
|
|
onToggle = (state) =>
|
|
this.setState({
|
|
toggle: typeof state === 'boolean' ? state : !this.state.toggle,
|
|
});
|
|
|
|
render() {
|
|
const newProps = {
|
|
[handlerName]: this.onToggle,
|
|
[stateName]: this.state.toggle,
|
|
};
|
|
return <BaseComponent {...newProps} {...this.props} />;
|
|
}
|
|
};
|
|
|
|
export default withToggle;
|