diff options
| author | jpl | 2017-03-06 18:13:12 +0100 |
|---|---|---|
| committer | jpl | 2017-03-06 18:13:12 +0100 |
| commit | d5496952b22064e8c74c3e5f06b8401f37b337ca (patch) | |
| tree | 50f91826297aa556b349a058496810f050964e02 /app/assets/javascripts | |
| parent | 7bd6d39c4bb3427d23667ffe76434fdd33630a4f (diff) | |
| download | chouette-core-d5496952b22064e8c74c3e5f06b8401f37b337ca.tar.bz2 | |
Refs #2727: adding submitMover feat. to VJ, fixing delete scrolltop (default behaviour)
Diffstat (limited to 'app/assets/javascripts')
5 files changed, 121 insertions, 25 deletions
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/App.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/App.js index 8e0cbde43..55a83091d 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/App.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/App.js @@ -10,6 +10,7 @@ var Tools = require('../containers/Tools') const App = () => ( <div> <Filters /> + <div className="row"> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-6'> <ToggleArrivals /> diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js new file mode 100644 index 000000000..2c4e75681 --- /dev/null +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js @@ -0,0 +1,52 @@ +var React = require('react') +var Component = require('react').Component +var PropTypes = require('react').PropTypes +var actions = require('../actions') + +class SaveVehicleJourneys 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='vehicle_journeys formSubmitr ml-xs' onSubmit={e => {e.preventDefault()}}> + <button + className='btn btn-default' + type='button' + onClick={e => { + e.preventDefault() + actions.submitVehicleJourneys(this.props.dispatch, this.props.vehicleJourneys) + }} + > + Enregistrer + </button> + </form> + </div> + </div> + ) + } else { + return false + } + } +} + +SaveVehicleJourneys.propTypes = { + vehicleJourneys: PropTypes.array.isRequired, + page: PropTypes.number.isRequired, + status: PropTypes.object.isRequired +} + +module.exports = SaveVehicleJourneys diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DeleteVehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DeleteVehicleJourneys.js index 87dc9cb2f..e2425cc22 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DeleteVehicleJourneys.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DeleteVehicleJourneys.js @@ -8,7 +8,10 @@ const DeleteVehicleJourneys = ({onDeleteVehicleJourneys, vehicleJourneys, filter <a href='#' className={(actions.getSelected(vehicleJourneys).length > 0 && filters.policy['vehicle_journeys.destroy']) ? '' : 'disabled'} - onClick={onDeleteVehicleJourneys} + onClick={e => { + e.preventDefault() + onDeleteVehicleJourneys() + }} title='Supprimer' > <span className='fa fa-trash'></span> diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/SaveVehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/SaveVehicleJourneys.js index 6011b8cb9..00275ae45 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/SaveVehicleJourneys.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/SaveVehicleJourneys.js @@ -1,30 +1,31 @@ var React = require('react') var connect = require('react-redux').connect var actions = require('../actions') +var SaveVehicleJourneysComponent = require('../components/SaveVehicleJourneys') -let SaveVehicleJourneys = ({ dispatch, vehicleJourneys, page, status }) => { - if(status.isFetching == true) { - return false - } - if(status.fetchSuccess == true) { - return ( - <form className='clearfix' onSubmit={e => {e.preventDefault()}}> - <button - className='btn btn-danger pull-right' - type='submit' - onClick={e => { - e.preventDefault() - actions.submitVehicleJourneys(dispatch, vehicleJourneys) - }} - > - Valider - </button> - </form> - ) - } else { - return false - } -} +// let SaveVehicleJourneys = ({ dispatch, vehicleJourneys, page, status }) => { +// if(status.isFetching == true) { +// return false +// } +// if(status.fetchSuccess == true) { +// return ( +// <form className='clearfix' onSubmit={e => {e.preventDefault()}}> +// <button +// className='btn btn-danger pull-right' +// type='submit' +// onClick={e => { +// e.preventDefault() +// actions.submitVehicleJourneys(dispatch, vehicleJourneys) +// }} +// > +// Valider +// </button> +// </form> +// ) +// } else { +// return false +// } +// } const mapStateToProps = (state) => { return { @@ -34,6 +35,6 @@ const mapStateToProps = (state) => { } } -SaveVehicleJourneys = connect(mapStateToProps)(SaveVehicleJourneys) +const SaveVehicleJourneys = connect(mapStateToProps)(SaveVehicleJourneysComponent) module.exports = SaveVehicleJourneys diff --git a/app/assets/javascripts/forms.coffee b/app/assets/javascripts/forms.coffee new file mode 100644 index 000000000..c8dd69581 --- /dev/null +++ b/app/assets/javascripts/forms.coffee @@ -0,0 +1,39 @@ +@togglableFilter = -> + $('.form-filter').on 'click', '.form-group.togglable', (e)-> + if $(e.target).hasClass('togglable') || $(e.target).parent().hasClass('togglable') + $(this).siblings().removeClass 'open' + $(this).toggleClass 'open' + +@switchInput = -> + $('.form-group.has_switch').each -> + labelCont = $(this).find('.switch-label') + + if labelCont.text() == '' + labelCont.text(labelCont.data('uncheckedvalue')) + + $(this).on 'click', "input[type='checkbox']", -> + if labelCont.text() == labelCont.data('checkedvalue') + labelCont.text(labelCont.data('uncheckedvalue')) + else + labelCont.text(labelCont.data('checkedvalue')) + +@submitMover = -> + if $('.page-action').children('.formSubmitr').length > 0 + $('.page-action').children('.formSubmitr').remove() + + $('.formSubmitr').appendTo('.page-action') + + # IE fix + isIE = false || !!document.documentMode + isEdge = !isIE && !!window.StyleMedia + + if isIE || isEdge + $('.formSubmitr').each -> + target = $(this).attr('form') + + $(this).on 'click', -> + $('#' + target).submit() + +$(document).on 'ready page:load', togglableFilter +$(document).on 'ready page:load', submitMover +$(document).on 'ready page:load', switchInput |
