diff options
| author | cedricnjanga | 2017-08-02 23:43:21 +0200 |
|---|---|---|
| committer | cedricnjanga | 2017-08-16 09:28:48 +0200 |
| commit | 8fcb78a249f5584a9a79f8cf2f0eef0bf80b4d37 (patch) | |
| tree | bcc417c99c6b95b50c44fdcbc3e8f336ce301a84 /app/assets/javascripts | |
| parent | e175a8d8d6d412833468d52df7f6bf1d78b0b9cc (diff) | |
| download | chouette-core-8fcb78a249f5584a9a79f8cf2f0eef0bf80b4d37.tar.bz2 | |
JP Read mode done
Diffstat (limited to 'app/assets/javascripts')
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( |
