aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorcedricnjanga2017-08-02 23:43:21 +0200
committercedricnjanga2017-08-16 09:28:48 +0200
commit8fcb78a249f5584a9a79f8cf2f0eef0bf80b4d37 (patch)
treebcc417c99c6b95b50c44fdcbc3e8f336ce301a84 /app/assets/javascripts
parente175a8d8d6d412833468d52df7f6bf1d78b0b9cc (diff)
downloadchouette-core-8fcb78a249f5584a9a79f8cf2f0eef0bf80b4d37.tar.bz2
JP Read mode done
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js6
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js2
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js8
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js4
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/SaveJourneyPattern.js15
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/index.js3
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/status.js4
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js6
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/index.js12
9 files changed, 41 insertions, 19 deletions
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
index 0ed961f44..8dae4e18b 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
@@ -6,6 +6,12 @@ if (!window.Promise) {
}
const actions = {
+ enterEditMode: () => ({
+ type: "ENTER_EDIT_MODE"
+ }),
+ exitEditMode: () => ({
+ type: "EXIT_EDIT_MODE"
+ }),
receiveJourneyPatterns : (json) => ({
type: "RECEIVE_JOURNEY_PATTERNS",
json
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js
index b446e2b37..e969a4e2a 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js
@@ -17,7 +17,7 @@ class CreateModal extends Component {
}
render() {
- if(this.props.status.isFetching == true || this.props.status.policy['journey_patterns.update'] == false) {
+ if(this.props.status.isFetching == true || this.props.status.policy['journey_patterns.create'] == false || this.props.status.editMode == false) {
return false
}
if(this.props.status.fetchSuccess == true) {
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
index 286cfc454..da05899e9 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
@@ -34,7 +34,7 @@ class JourneyPattern extends Component{
type='checkbox'
id={sp.id}
checked={sp.checked}
- disabled={(this.props.value.deletable || this.props.status.policy['journey_patterns.update'] == false) ? 'disabled' : ''}
+ disabled={(this.props.value.deletable || this.props.status.policy['journey_patterns.update'] == false || this.props.status.editMode == false) ? 'disabled' : ''}
>
</input>
<span className='radio-label'></span>
@@ -78,7 +78,7 @@ class JourneyPattern extends Component{
<span className='fa fa-cog'></span>
</div>
<ul className='dropdown-menu'>
- <li className={(this.props.value.deletable || this.props.status.policy['journey_patterns.update'] == false) ? 'disabled' : ''}>
+ <li className={(this.props.status.policy['journey_patterns.update'] == false || this.props.status.editMode == false) ? 'disabled' : ''}>
<button
type='button'
onClick={this.props.onOpenEditModal}
@@ -91,10 +91,10 @@ class JourneyPattern extends Component{
<li className={this.props.value.object_id ? '' : 'disabled'}>
{this.vehicleJourneyURL(this.props.value.object_id)}
</li>
- <li className={'delete-action' + ((this.props.status.policy['journey_patterns.update'] == false)? ' disabled' : '')}>
+ <li className={'delete-action' + ((this.props.status.policy['journey_patterns.destroy'] == false || this.props.status.editMode == false) ? ' disabled' : '')}>
<button
type='button'
- disabled={(this.props.status.policy['journey_patterns.update'] == false)? 'disabled' : ''}
+ disabled={(this.props.status.policy['journey_patterns.destroy'] == false || this.props.status.editMode == false)? 'disabled' : ''}
onClick={(e) => {
e.preventDefault()
this.props.onDeleteJourneyPattern(this.props.index)}
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js
index 871ba00e1..37d2baa29 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/SaveJourneyPattern.js
@@ -21,10 +21,10 @@ class SaveJourneyPattern extends Component{
type='button'
onClick={e => {
e.preventDefault()
- actions.submitJourneyPattern(this.props.dispatch, this.props.journeyPatterns)
+ this.props.status.editMode ? this.props.onSubmitJourneyPattern(this.props.dispatch, this.props.journeyPatterns) : this.props.onEnterEditMode(e)
}}
>
- Valider
+ {this.props.status.editMode ? "Valider" : "Editer"}
</button>
</form>
</div>
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/SaveJourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/SaveJourneyPattern.js
index 33442c5a0..b6376e431 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/SaveJourneyPattern.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/SaveJourneyPattern.js
@@ -11,6 +11,19 @@ const mapStateToProps = (state) => {
}
}
-const SaveJourneyPattern = connect(mapStateToProps)(SaveJourneyPatternComponent)
+const mapDispatchToProps = (dispatch) => {
+ return {
+ onEnterEditMode: (e) => {
+ e.preventDefault()
+ dispatch(actions.enterEditMode())
+ },
+ onSubmitJourneyPattern: (next, state) => {
+ actions.submitJourneyPattern(dispatch, state, next)
+ dispatch(actions.exitEditMode())
+ }
+ }
+}
+
+const SaveJourneyPattern = connect(mapStateToProps, mapDispatchToProps)(SaveJourneyPatternComponent)
module.exports = SaveJourneyPattern
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
index b06957e0f..9307821db 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
@@ -14,6 +14,7 @@ var App = require('./components/App')
var initialState = {
status: {
policy: window.perms,
+ editMode: false,
fetchSuccess: true,
isFetching: false
},
@@ -35,7 +36,7 @@ var initialState = {
let store = createStore(
journeyPatternsApp,
- initialState
+ initialState,
// applyMiddleware(thunkMiddleware, promise, loggerMiddleware)
)
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/status.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/status.js
index d7ef12d0b..07bbdc249 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/status.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/status.js
@@ -11,6 +11,10 @@ const status = (state = {}, action) => {
return _.assign({}, state, {fetchSuccess: true, isFetching: false})
case 'RECEIVE_ERRORS':
return _.assign({}, state, {isFetching: false})
+ case 'ENTER_EDIT_MODE':
+ return _.assign({}, state, {editMode: true})
+ case 'EXIT_EDIT_MODE':
+ return _.assign({}, state, {editMode: false})
default:
return state
}
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js
index d59a1c109..816926584 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js
@@ -9,9 +9,7 @@ class SaveVehicleJourneys extends Component{
}
render() {
- const buttonText = this.props.filters.editMode ? "Valider" : "Editer"
-
- if(this.props.filters.policy['vehicle_journeys.update'] == false) {
+ if (this.props.filters.policy['vehicle_journeys.update'] == false) {
return false
}else{
return (
@@ -26,7 +24,7 @@ class SaveVehicleJourneys extends Component{
this.props.filters.editMode ? this.props.onSubmitVehicleJourneys(this.props.dispatch, this.props.vehicleJourneys) : this.props.onEnterEditMode(e)
}}
>
- {buttonText}
+ {this.props.filters.editMode ? "Valider" : "Editer"}
</button>
</form>
</div>
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
index 674236194..6d09f099d 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
@@ -8,10 +8,10 @@ var actions = require("./actions")
var enableBatching = require('./batch').enableBatching
// logger, DO NOT REMOVE
-var applyMiddleware = require('redux').applyMiddleware
-var createLogger = require('redux-logger')
-var thunkMiddleware = require('redux-thunk').default
-var promise = require('redux-promise')
+// var applyMiddleware = require('redux').applyMiddleware
+// var createLogger = require('redux-logger')
+// var thunkMiddleware = require('redux-thunk').default
+// var promise = require('redux-promise')
var selectedJP = []
@@ -86,12 +86,12 @@ if (window.jpOrigin){
initialState.filters.queryString = actions.encodeParams(params)
}
-const loggerMiddleware = createLogger()
+// const loggerMiddleware = createLogger()
let store = createStore(
enableBatching(vehicleJourneysApp),
initialState,
- applyMiddleware(thunkMiddleware, promise, loggerMiddleware)
+ // applyMiddleware(thunkMiddleware, promise, loggerMiddleware)
)
render(