aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorjpl2017-03-06 18:13:12 +0100
committerjpl2017-03-06 18:13:12 +0100
commitd5496952b22064e8c74c3e5f06b8401f37b337ca (patch)
tree50f91826297aa556b349a058496810f050964e02 /app/assets/javascripts
parent7bd6d39c4bb3427d23667ffe76434fdd33630a4f (diff)
downloadchouette-core-d5496952b22064e8c74c3e5f06b8401f37b337ca.tar.bz2
Refs #2727: adding submitMover feat. to VJ, fixing delete scrolltop (default behaviour)
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/App.js1
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js52
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DeleteVehicleJourneys.js5
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/containers/SaveVehicleJourneys.js49
-rw-r--r--app/assets/javascripts/forms.coffee39
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