diff --git a/.babelrc b/.babelrc index 4ca4d12..7d37981 100644 --- a/.babelrc +++ b/.babelrc @@ -1,4 +1,4 @@ { "presets": ["es2015", "react", "stage-0"], - "plugins": ["transform-decorators-legacy", "react-hot-loader/babel"] + "plugins": ["transform-decorators-legacy", "react-hot-loader/babel", "ramda"] } diff --git a/package.json b/package.json index 4cb020a..276a342 100644 --- a/package.json +++ b/package.json @@ -79,6 +79,7 @@ "babel-core": "<6.3.0", "babel-eslint": "^7.1.0", "babel-loader": "~6.2.1", + "babel-plugin-ramda": "^1.1.6", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-plugin-transform-es2015-modules-umd": "^6.8.0", "babel-preset-es2015": "<6.3.0", diff --git a/src/api/debats/index.js b/src/api/debats/index.js index 34feaae..d535ddf 100644 --- a/src/api/debats/index.js +++ b/src/api/debats/index.js @@ -15,3 +15,4 @@ export const getStatements = () => get('statements'); export const getPublicFiguresAutocomplete = typed => get(`autocomplete/public_figure/${typed}`); export const getSubjectsAutocomplete = typed => get(`autocomplete/subject/${typed}`); export const getPositions = subjectId => get(`subjects/${subjectId}/positions`); +export const postStatement = statement => post('statements', statement); diff --git a/src/boot.js b/src/boot.js index ac88a5b..0cfe460 100644 --- a/src/boot.js +++ b/src/boot.js @@ -2,7 +2,7 @@ import moment from 'moment'; import 'bootstrap-loader'; const locale = 'fr'; - +moment.locale(locale); moment.locale(locale, { calendar : { lastDay : '[Hier]', diff --git a/src/components/AddStatementButton/connector.js b/src/components/AddStatementButton/connector.js new file mode 100644 index 0000000..c56a01f --- /dev/null +++ b/src/components/AddStatementButton/connector.js @@ -0,0 +1,10 @@ +import { connect } from 'react-redux'; +import { onAddStatementValidate } from 'store/actions'; + +const mapStateToProps = () => ({}); + +const mapDispatchToProps = dispatch => ({ + onValidate: statement => dispatch(onAddStatementValidate(statement)), +}); + +export default connect(mapStateToProps, mapDispatchToProps); diff --git a/src/components/AddStatementButton/index.jsx b/src/components/AddStatementButton/index.jsx index 29fd850..5dc65f5 100644 --- a/src/components/AddStatementButton/index.jsx +++ b/src/components/AddStatementButton/index.jsx @@ -1,11 +1,16 @@ -import React, { Component } from 'react'; +import React, { Component, PropTypes } from 'react'; import { Button } from 'react-bootstrap'; import AddStatementModal from 'components/AddStatementModal'; +import connect from './connector'; class AddStatementButton extends Component { + static propTypes = { + onValidate: PropTypes.func.isRequired, + }; + state = { showModal: false, - } + }; close = () => this.setState({ showModal: false }); open = () => this.setState({ showModal: true }); @@ -18,12 +23,12 @@ class AddStatementButton extends Component { bsSize="xsmall" onClick={this.open} > - Nouvelle prise de position - - + Nouvelle prise de position + + ); } } -export default AddStatementButton; +export default connect(AddStatementButton); diff --git a/src/components/AddStatementModal/index.jsx b/src/components/AddStatementModal/index.jsx index 02f0024..2cbdf1b 100644 --- a/src/components/AddStatementModal/index.jsx +++ b/src/components/AddStatementModal/index.jsx @@ -285,7 +285,7 @@ class AddStatementModal extends Component { } {step === steps.SUMMARY &&