Files
Airframe-React/app/components/SidebarTrigger/SidebarTrigger.js
2019-08-15 00:54:44 +02:00

33 lines
856 B
JavaScript
Executable File

import React from 'react';
import { NavLink } from 'reactstrap';
import PropTypes from 'prop-types';
import { withPageConfig } from './../Layout';
const SidebarTrigger = (props) => {
const { tag: Tag, pageConfig, ...otherProps } = props;
return (
<Tag
onClick={ () => { props.pageConfig.toggleSidebar(); return false; } }
active={ Tag !== 'a' ? !pageConfig.sidebarCollapsed : undefined }
{ ...otherProps }
>
{ props.children }
</Tag>
)
};
SidebarTrigger.propTypes = {
tag: PropTypes.any,
children: PropTypes.node,
pageConfig: PropTypes.object
}
SidebarTrigger.defaultProps = {
tag: NavLink,
children: <i className="fa fa-bars fa-fw"></i>
}
const cfgSidebarTrigger = withPageConfig(SidebarTrigger);
export {
cfgSidebarTrigger as SidebarTrigger
}