diff options
| author | cedricnjanga | 2017-08-14 10:05:41 +0200 |
|---|---|---|
| committer | cedricnjanga | 2017-08-16 09:28:48 +0200 |
| commit | 508f7d115db0017392e60fe7594ee50b2dad3311 (patch) | |
| tree | 2b1f847594350249218321470de2ceb232233f83 /app/assets | |
| parent | 76b1f8dfdaaeac516c51f91cc5df9f1e39ede0c0 (diff) | |
| download | chouette-core-508f7d115db0017392e60fe7594ee50b2dad3311.tar.bz2 | |
JP and VJ refacto
Diffstat (limited to 'app/assets')
21 files changed, 58 insertions, 28 deletions
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 e969a4e2a..12871431a 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.create'] == false || this.props.status.editMode == false) { + if(this.props.status.isFetching == true || this.props.status.policy['journey_patterns.create'] == false || this.props.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 da05899e9..377fd0612 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 || this.props.status.editMode == false) ? 'disabled' : ''} + disabled={(this.props.value.deletable || this.props.status.policy['journey_patterns.update'] == false || this.props.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.status.policy['journey_patterns.update'] == false || this.props.status.editMode == false) ? 'disabled' : ''}> + <li className={(this.props.status.policy['journey_patterns.update'] == false || this.props.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.destroy'] == false || this.props.status.editMode == false) ? ' disabled' : '')}> + <li className={'delete-action' + ((this.props.status.policy['journey_patterns.destroy'] == false || this.props.editMode == false) ? ' disabled' : '')}> <button type='button' - disabled={(this.props.status.policy['journey_patterns.destroy'] == false || this.props.status.editMode == false)? 'disabled' : ''} + disabled={(this.props.status.policy['journey_patterns.destroy'] == false || this.props.editMode == false)? 'disabled' : ''} onClick={(e) => { e.preventDefault() this.props.onDeleteJourneyPattern(this.props.index)} diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js index 23473ae52..8c01cca57 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js @@ -133,6 +133,7 @@ class JourneyPatterns extends Component{ onOpenEditModal= {() => this.props.onOpenEditModal(index, journeyPattern)} onDeleteJourneyPattern={() => this.props.onDeleteJourneyPattern(index)} status= {this.props.status} + editMode= {this.props.editMode} /> )} </div> 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 37d2baa29..767dab088 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() - this.props.status.editMode ? this.props.onSubmitJourneyPattern(this.props.dispatch, this.props.journeyPatterns) : this.props.onEnterEditMode(e) + this.props.editMode ? this.props.onSubmitJourneyPattern(this.props.dispatch, this.props.journeyPatterns) : this.props.onEnterEditMode() }} > - {this.props.status.editMode ? "Valider" : "Editer"} + {this.props.editMode ? "Valider" : "Editer"} </button> </form> </div> diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js index ee13819fd..7aa27754e 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js @@ -6,6 +6,7 @@ const mapStateToProps = (state) => { return { modal: state.modal, journeyPatterns: state.journeyPatterns, + editMode: state.editMode, status: state.status } } diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js index bc2aaf95b..228df3ede 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js @@ -6,6 +6,7 @@ const mapStateToProps = (state) => { return { journeyPatterns: state.journeyPatterns, status: state.status, + editMode: state.editMode, stopPointsList: state.stopPointsList } } 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 b6376e431..0bbf0edfb 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/SaveJourneyPattern.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/SaveJourneyPattern.js @@ -6,6 +6,7 @@ var SaveJourneyPatternComponent = require('../components/SaveJourneyPattern') const mapStateToProps = (state) => { return { journeyPatterns: state.journeyPatterns, + editMode: state.editMode, page: state.pagination.page, status: state.status } @@ -13,8 +14,7 @@ const mapStateToProps = (state) => { const mapDispatchToProps = (dispatch) => { return { - onEnterEditMode: (e) => { - e.preventDefault() + onEnterEditMode: () => { dispatch(actions.enterEditMode()) }, onSubmitJourneyPattern: (next, state) => { diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/index.js index 9307821db..ca9efd2d0 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/index.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/index.js @@ -12,9 +12,9 @@ var App = require('./components/App') // var promise = require('redux-promise') var initialState = { + editMode: false, status: { policy: window.perms, - editMode: false, fetchSuccess: true, isFetching: false }, diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/editMode.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/editMode.js new file mode 100644 index 000000000..2e8af1aa8 --- /dev/null +++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/editMode.js @@ -0,0 +1,12 @@ +const editMode = (state = {}, action ) => { + switch (action.type) { + case "ENTER_EDIT_MODE": + return true + case "EXIT_EDIT_MODE": + return false + default: + return state + } +} + +module.exports = editMode diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js index aa35adf0e..a9c28b83e 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js @@ -1,4 +1,5 @@ var combineReducers = require('redux').combineReducers +var editMode = require('./editMode') var status = require('./status') var journeyPatterns = require('./journeyPatterns') var pagination = require('./pagination') @@ -6,6 +7,7 @@ var modal = require('./modal') var stopPointsList = require('./stopPointsList') const journeyPatternsApp = combineReducers({ + editMode, status, journeyPatterns, pagination, 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 816926584..3c45e5758 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/SaveVehicleJourneys.js @@ -21,10 +21,10 @@ class SaveVehicleJourneys extends Component{ type='button' onClick={e => { e.preventDefault() - this.props.filters.editMode ? this.props.onSubmitVehicleJourneys(this.props.dispatch, this.props.vehicleJourneys) : this.props.onEnterEditMode(e) + this.props.editMode ? this.props.onSubmitVehicleJourneys(this.props.dispatch, this.props.vehicleJourneys) : this.props.onEnterEditMode() }} > - {this.props.filters.editMode ? "Valider" : "Editer"} + {this.props.editMode ? "Valider" : "Editer"} </button> </form> </div> diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js index f12a03619..4948e6b1a 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js @@ -9,7 +9,7 @@ var NotesEditVehicleJourney = require('../containers/tools/NotesEditVehicleJourn var TimetablesEditVehicleJourney = require('../containers/tools/TimetablesEditVehicleJourney') var actions = require('../actions') -const Tools = ({vehicleJourneys, onCancelSelection, filters: {policy, editMode}}) => { +const Tools = ({vehicleJourneys, onCancelSelection, filters: {policy}, editMode}) => { return ( <div> { diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js index b19a362d6..ca6694f61 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js @@ -58,7 +58,7 @@ class VehicleJourney extends Component { )} </div> - {(this.props.filters.policy['vehicle_journeys.update'] == true && this.props.filters.editMode) && + {(this.props.filters.policy['vehicle_journeys.update'] == true && this.props.editMode) && <div className={(this.props.value.deletable ? 'disabled ' : '') + 'checkbox'}> <input id={this.props.index} @@ -79,13 +79,13 @@ class VehicleJourney extends Component { <div className={'cellwrap' + (this.cityNameChecker(vj) ? ' headlined' : '')}> {this.props.filters.toggleArrivals && <div data-headline='Arrivée à'> - <span className={((this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.filters.editMode == false) ? 'disabled ' : '') + 'input-group time'}> + <span className={((this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.editMode == false) ? 'disabled ' : '') + 'input-group time'}> <input type='number' min='00' max='23' className='form-control' - disabled={(this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.filters.editMode == false)} + disabled={(this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.editMode == false)} onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'hour', false, false)}} value={vj.arrival_time['hour']} /> @@ -95,7 +95,7 @@ class VehicleJourney extends Component { min='00' max='59' className='form-control' - disabled={((this.isDisabled(this.props.value.deletable), vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.filters.editMode == false)} + disabled={((this.isDisabled(this.props.value.deletable), vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.editMode == false)} onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'minute', false, false)}} value={vj.arrival_time['minute']} /> @@ -108,13 +108,13 @@ class VehicleJourney extends Component { } </div> <div data-headline='Départ à'> - <span className={((this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.filters.editMode == false) ? 'disabled ' : '') + 'input-group time'}> + <span className={((this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.editMode == false) ? 'disabled ' : '') + 'input-group time'}> <input type='number' min='00' max='23' className='form-control' - disabled={(this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.filters.editMode == false)} + disabled={(this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.editMode == false)} onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'hour', true, this.props.filters.toggleArrivals)}} value={vj.departure_time['hour']} /> @@ -124,7 +124,7 @@ class VehicleJourney extends Component { min='00' max='59' className='form-control' - disabled={(this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.filters.editMode == false)} + disabled={(this.isDisabled(this.props.value.deletable, vj.dummy) || this.props.filters.policy['vehicle_journeys.update'] == false || this.props.editMode == false)} onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, "minute", true, this.props.filters.toggleArrivals)}} value={vj.departure_time['minute']} /> diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js index e8673a25a..68f738540 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js @@ -131,6 +131,7 @@ class VehicleJourneys extends Component{ value={vj} key={index} index={index} + editMode={this.props.editMode} filters={this.props.filters} onUpdateTime={this.props.onUpdateTime} onSelectVehicleJourney={this.props.onSelectVehicleJourney} 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 584a79280..4fbd6a5a6 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/SaveVehicleJourneys.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/SaveVehicleJourneys.js @@ -5,6 +5,7 @@ var SaveVehicleJourneysComponent = require('../components/SaveVehicleJourneys') const mapStateToProps = (state) => { return { + editMode: state.editMode, vehicleJourneys: state.vehicleJourneys, page: state.pagination.page, status: state.status, @@ -14,8 +15,7 @@ const mapStateToProps = (state) => { const mapDispatchToProps = (dispatch) => { return { - onEnterEditMode: (e) => { - e.preventDefault() + onEnterEditMode: () => { dispatch(actions.enterEditMode()) }, onSubmitVehicleJourneys: (next, state) => { diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/Tools.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/Tools.js index 698fcf06f..a4b3056ac 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/Tools.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/Tools.js @@ -5,6 +5,7 @@ var actions = require('../actions') const mapStateToProps = (state) => { return { vehicleJourneys: state.vehicleJourneys, + editMode: state.editMode, filters: state.filters } } diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js index 176a68500..f834e4457 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js @@ -4,6 +4,7 @@ var VehicleJourneys = require('../components/VehicleJourneys') const mapStateToProps = (state) => { return { + editMode: state.editMode, vehicleJourneys: state.vehicleJourneys, status: state.status, filters: state.filters, diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js index 6d09f099d..53bbcf952 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js @@ -19,9 +19,9 @@ if (window.journeyPatternId) selectedJP.push(window.journeyPatternId) var initialState = { + editMode: false, filters: { selectedJourneyPatterns : selectedJP, - editMode: false, policy: window.perms, toggleArrivals: false, queryString: '', diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/editMode.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/editMode.js new file mode 100644 index 000000000..2e8af1aa8 --- /dev/null +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/editMode.js @@ -0,0 +1,12 @@ +const editMode = (state = {}, action ) => { + switch (action.type) { + case "ENTER_EDIT_MODE": + return true + case "EXIT_EDIT_MODE": + return false + default: + return state + } +} + +module.exports = editMode diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js index 5bf93dab0..b4a70ec08 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js @@ -1,13 +1,9 @@ var _ = require('lodash') var actions = require("../actions") -let newQuery, newInterval, newEditMode +let newQuery, newInterval const filters = (state = {}, action) => { switch (action.type) { - case "ENTER_EDIT_MODE": - return _.assign({}, state, {editMode: true}) - case "EXIT_EDIT_MODE": - return _.assign({}, state, {editMode: false}) case 'RESET_FILTERS': let interval = { start:{ diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/index.js index bd4d7226b..4e0839102 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/index.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/index.js @@ -4,6 +4,7 @@ var pagination = require('./pagination') var modal = require('./modal') var status = require('./status') var filters = require('./filters') +var editMode = require('./editMode') var stopPointsList = require('./stopPointsList') const vehicleJourneysApp = combineReducers({ @@ -12,6 +13,7 @@ const vehicleJourneysApp = combineReducers({ modal, status, filters, + editMode, stopPointsList }) |
