import * as React from 'react' import * as q from '../../../backend/src/Model' import { AppState, NodeOrder } from '../reducers' import { Divider, Drawer, IconButton, Input, InputLabel, MenuItem, Select, Typography, } from '@material-ui/core' import { StyleRulesCallback, withStyles } from '@material-ui/core/styles' import ChevronRight from '@material-ui/icons/ChevronRight' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' import { settingsActions } from '../actions' const styles: StyleRulesCallback = theme => ({ drawer: { backgroundColor: theme.palette.background.default, flexShrink: 0, }, paper: { width: '300px', }, title: { color: theme.palette.text.primary, paddingTop: `${theme.spacing.unit}px`, ...theme.mixins.toolbar, }, input: { minWidth: '150px', margin: `auto ${theme.spacing.unit}px auto ${2 * theme.spacing.unit}px`, }, }) interface Props { actions?: any autoExpandLimit: number visible: boolean store?: any classes: any nodeOrder: NodeOrder } class Settings extends React.Component { constructor(props: any) { super(props) this.state = {} } public render() { const { classes, actions, visible } = this.props return (
Settings {this.renderAutoExpand()} {this.renderNodeOrder()}
) } private renderAutoExpand() { const { classes, autoExpandLimit } = this.props return (
Auto Expand
) } private onChangeAutoExpand = (e: React.ChangeEvent) => { this.props.actions.setAutoExpandLimit(e.target.value) } private renderNodeOrder() { const { classes, nodeOrder } = this.props return (
Topic order
) } private onChangeSorting = (e: React.ChangeEvent) => { this.props.actions.setNodeOrder(e.target.value) } } const mapStateToProps = (state: AppState) => { return { autoExpandLimit: state.tooBigReducer.settings.autoExpandLimit, nodeOrder: state.tooBigReducer.settings.nodeOrder, visible: state.tooBigReducer.settings.visible, } } const mapDispatchToProps = (dispatch: any) => { return { actions: bindActionCreators(settingsActions, dispatch), } } export default withStyles(styles)(connect(mapStateToProps, mapDispatchToProps)(Settings))