diff options
| author | Thomas Haddad | 2017-02-22 12:29:10 +0100 |
|---|---|---|
| committer | Thomas Haddad | 2017-02-22 12:29:10 +0100 |
| commit | 530109322e61cbc7c0127a243ab467d468c50ebe (patch) | |
| tree | 53fc4247503ecaa41c5173ee86976a8ae91ad121 | |
| parent | cd8ea5648980d899206197da79cae226de5df378 (diff) | |
| download | chouette-core-530109322e61cbc7c0127a243ab467d468c50ebe.tar.bz2 | |
Fix Shift feature with preselected vehicle journey
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
6 files changed, 16 insertions, 28 deletions
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js index e9a1b0bea..9991b51c8 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js @@ -203,10 +203,10 @@ const actions = { }, // VJAS HELPERS - countSelected: (vj) => { + getSelected: (vj) => { return vj.filter((obj) =>{ return obj.selected - }).length + }) }, pad: (d) => { return (d < 10) ? '0' + d.toString() : d.toString(); 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 6a1a00313..b02d4eb50 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 @@ -6,7 +6,7 @@ const DeleteVehicleJourneys = ({onDeleteVehicleJourneys, vehicleJourneys}) => { return ( <div className='pull-left'> <button - disabled= {(actions.countSelected(vehicleJourneys) > 0) ? false : true} + disabled= {(actions.getSelected(vehicleJourneys).length > 0) ? false : true} type='button' className='btn btn-primary btn-sm' onClick={onDeleteVehicleJourneys} diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js index aaad1a13e..adad22aa1 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/DuplicateVehicleJourney.js @@ -11,6 +11,7 @@ class DuplicateVehicleJourney extends Component { handleSubmit() { if(actions.validateFields(this.refs) == true) { this.props.onDuplicateVehicleJourney(this.refs) + this.props.onModalClose() $('#DuplicateVehicleJourneyModal').modal('hide') } } @@ -23,7 +24,7 @@ class DuplicateVehicleJourney extends Component { return ( <div className='pull-left'> <button - disabled= {(actions.countSelected(this.props.vehicleJourneys) > 0) ? false : true} + disabled= {(actions.getSelected(this.props.vehicleJourneys).length > 0) ? false : true} type='button' className='btn btn-primary btn-sm' data-toggle='modal' diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/ShiftVehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/ShiftVehicleJourney.js index 5a91e38bc..23ac63bb4 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/ShiftVehicleJourney.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/ShiftVehicleJourney.js @@ -11,6 +11,7 @@ class ShiftVehicleJourney extends Component { handleSubmit() { if(actions.validateFields(this.refs) == true) { this.props.onShiftVehicleJourney(this.refs) + this.props.onModalClose() $('#ShiftVehicleJourneyModal').modal('hide') } } @@ -23,7 +24,7 @@ class ShiftVehicleJourney extends Component { return ( <div className='pull-left'> <button - disabled= {(actions.countSelected(this.props.vehicleJourneys) == 1) ? false : true} + disabled= {(actions.getSelected(this.props.vehicleJourneys).length == 1) ? false : true} type='button' className='btn btn-primary btn-sm' data-toggle='modal' @@ -44,21 +45,7 @@ class ShiftVehicleJourney extends Component { <form> <div className='modal-body'> <div className='form-group'> - <label className='control-label is-required'>Mettre à jour les horaires de la course</label> - <select - ref='objectid' - className='form-control' - onKeyDown={(e) => actions.resetValidation(e.currentTarget)} - required - > - {this.props.vehicleJourneys.map((vj, i) => - <option - key = {i} - value = {vj.objectid}> - {vj.objectid} - </option> - )} - </select> + <span>Mettre à jour les horaires de la course {actions.getSelected(this.props.vehicleJourneys)[0].objectid}</span> </div> <div className='row'> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-6'> diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js index 241ebb378..3d02f9371 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js @@ -84,7 +84,7 @@ const vehicleJourneys = (state = [], action) => { ] case 'SHIFT_VEHICLEJOURNEY': return state.map((vj, i) => { - if (vj.objectid == action.data.objectid.value){ + if (vj.selected && (actions.getSelected(state).length == 1)){ return vehicleJourney(vj, action) }else{ return vj diff --git a/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js b/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js index 1e1c16796..93f557e03 100644 --- a/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js +++ b/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js @@ -33,7 +33,7 @@ describe('vehicleJourneys reducer', () => { published_journey_name: "vj1", objectid: '11', deletable: false, - selected: false, + selected: true, footnotes: fakeFootnotes, time_tables: fakeTimeTables, vehicle_journey_at_stops: fakeVJAS @@ -42,7 +42,7 @@ describe('vehicleJourneys reducer', () => { journey_pattern_id: 2, published_journey_name: "vj2", objectid: '22', - selected: true, + selected: false, deletable: false, footnotes: fakeFootnotes, time_tables: fakeTimeTables, @@ -117,23 +117,23 @@ describe('vehicleJourneys reducer', () => { }) it('should handle SELECT_VEHICLEJOURNEY', () => { - const index = 0 - const newVJ = Object.assign({}, state[0], {selected: true}) + const index = 1 + const newVJ = Object.assign({}, state[1], {selected: true}) expect( vjReducer(state, { type: 'SELECT_VEHICLEJOURNEY', index }) - ).toEqual([newVJ, state[1]]) + ).toEqual([state[0], newVJ]) }) it('should handle DELETE_VEHICLEJOURNEYS', () => { - const newVJ = Object.assign({}, state[1], {deletable: true}) + const newVJ = Object.assign({}, state[0], {deletable: true}) expect( vjReducer(state, { type: 'DELETE_VEHICLEJOURNEYS' }) - ).toEqual([state[0], newVJ]) + ).toEqual([newVJ, state[1]]) }) it('should handle SHIFT_VEHICLEJOURNEY', () => { |
