dubdiff/src/common/components/MainControls.js

55 lines
1.5 KiB
JavaScript
Raw Normal View History

2016-11-28 18:47:47 +01:00
import React from 'react'
import {connect} from 'react-redux'
import {Button, Icon, Segment} from 'semantic-ui-react'
2016-11-28 18:47:47 +01:00
import * as Actions from '../actions'
import * as Selectors from '../selectors'
const mapStateToProps = (state) => ({
format: state.format,
isMarkdownFormat: Selectors.isMarkdownFormat(state),
saveStatus: state.saveStatus
2016-11-28 18:47:47 +01:00
})
const mapDispatchToProps = dispatch => ({
onSetPlaintextFormat: (format) => dispatch(Actions.setPlaintextFormat()),
onSetMarkdownFormat: (format) => dispatch(Actions.setMarkdownFormat()),
// returns an id for the record to be saved
onCompare: () => dispatch(Actions.compare())
2016-11-28 18:47:47 +01:00
})
class MainControls extends React.Component {
onClickMarkdownFormat () {
if (this.props.isMarkdownFormat) {
2016-11-28 18:47:47 +01:00
this.props.onSetPlaintextFormat()
} else {
2016-11-28 18:47:47 +01:00
this.props.onSetMarkdownFormat()
}
2016-11-28 18:47:47 +01:00
}
render () {
2016-11-28 18:47:47 +01:00
return (
<Segment.Group>
<Segment >
2016-12-17 06:26:04 +01:00
<Button fluid onClick={this.props.onCompare}>Compare</Button>
</Segment>
<Segment >
<Button fluid active={this.props.isMarkdownFormat} type='submit' onClick={this.onClickMarkdownFormat.bind(this)}>
{this.props.isMarkdownFormat ? <Icon name='checkmark' /> : <span />}
&nbsp;As Markdown
</Button>
</Segment>
</Segment.Group>
2016-11-28 18:47:47 +01:00
)
}
}
export default connect(mapStateToProps, mapDispatchToProps)(MainControls)
/*
<a type="button" onClick={this.onClickCompare.bind(this)} className="btn btn-block btn-primary">compare</a> */