diff options
| author | Thomas Haddad | 2017-04-25 09:23:58 +0200 |
|---|---|---|
| committer | Thomas Haddad | 2017-04-25 09:23:58 +0200 |
| commit | a032342dafe69d5878cb4868decf38b8139d98db (patch) | |
| tree | c34f368a674dd29d888cb19df875b337182a2064 | |
| parent | c6f80e2066a29c0aa3176a4d160dc12ece7f5693 (diff) | |
| download | chouette-core-a032342dafe69d5878cb4868decf38b8139d98db.tar.bz2 | |
Refs #2899: Add Save component for timetables
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
3 files changed, 70 insertions, 0 deletions
diff --git a/app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js b/app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js new file mode 100644 index 000000000..f8832476d --- /dev/null +++ b/app/assets/javascripts/es6_browserified/time_tables/components/SaveTimetable.js @@ -0,0 +1,52 @@ +var React = require('react') +var Component = require('react').Component +var PropTypes = require('react').PropTypes +var actions = require('../actions') + +class SaveTimetable extends Component{ + constructor(props){ + super(props) + } + + componentDidUpdate(prevProps, prevState) { + if(prevProps.status.isFetching == true){ + submitMover(); + } + } + + render() { + if(this.props.status.isFetching == true) { + return false + } + if(this.props.status.fetchSuccess == true) { + return ( + <div className='row mt-md'> + <div className='col-lg-12 text-right'> + <form className='formSubmitr ml-xs' onSubmit={e => {e.preventDefault()}}> + <button + className='btn btn-default' + type='button' + onClick={e => { + e.preventDefault() + actions.submitTimeTable(this.props.dispatch, this.props.timetable, this.props.metas) + }} + > + Valider + </button> + </form> + </div> + </div> + ) + } else { + return false + } + } +} + +SaveTimetable.propTypes = { + timetable: PropTypes.object.isRequired, + status: PropTypes.object.isRequired, + metas: PropTypes.object.isRequired +} + +module.exports = SaveTimetable diff --git a/app/assets/javascripts/es6_browserified/time_tables/containers/App.js b/app/assets/javascripts/es6_browserified/time_tables/containers/App.js index 36e3a98e0..fee169ac3 100644 --- a/app/assets/javascripts/es6_browserified/time_tables/containers/App.js +++ b/app/assets/javascripts/es6_browserified/time_tables/containers/App.js @@ -6,6 +6,7 @@ var Metas = require('./Metas') var Timetable = require('./Timetable') var Navigate = require('./Navigate') var PeriodForm = require('./PeriodForm') +var SaveTimetable = require('./SaveTimetable') class App extends Component { componentDidMount(){ @@ -20,6 +21,7 @@ class App extends Component { <Navigate /> <Timetable /> <PeriodForm /> + <SaveTimetable /> </div> </div> ) diff --git a/app/assets/javascripts/es6_browserified/time_tables/containers/SaveTimetable.js b/app/assets/javascripts/es6_browserified/time_tables/containers/SaveTimetable.js new file mode 100644 index 000000000..7d2684dde --- /dev/null +++ b/app/assets/javascripts/es6_browserified/time_tables/containers/SaveTimetable.js @@ -0,0 +1,16 @@ +var React = require('react') +var connect = require('react-redux').connect +var actions = require('../actions') +var SaveTimetableComponent = require('../components/SaveTimetable') + +const mapStateToProps = (state) => { + return { + timetable: state.timetable, + metas: state.metas, + status: state.status + } +} + +const SaveTimetable = connect(mapStateToProps)(SaveTimetableComponent) + +module.exports = SaveTimetable |
