diff options
| author | cedricnjanga | 2017-10-27 14:47:19 +0200 |
|---|---|---|
| committer | cedricnjanga | 2017-10-27 14:47:19 +0200 |
| commit | df12d7b9bc62cab376106ec2673a19d913d3f43b (patch) | |
| tree | c07e4ddd9057f1885a786dfe2b11222de53cad71 /app/javascript | |
| parent | 90174518bcffbb3b347e1fb28894d8317575c6e6 (diff) | |
| download | chouette-core-df12d7b9bc62cab376106ec2673a19d913d3f43b.tar.bz2 | |
Refs #4794
Added some UX changes on VehicleJourney collection route
- truncate the id of the VJ and the JP to 10 characters
- only show the 3 first timetable in the metas of the VJ
- add a link to the time_table#show in the EditTimeTable modal
Diffstat (limited to 'app/javascript')
3 files changed, 16 insertions, 4 deletions
diff --git a/app/javascript/vehicle_journeys/actions/index.js b/app/javascript/vehicle_journeys/actions/index.js index 8d7c4d7a0..95c739893 100644 --- a/app/javascript/vehicle_journeys/actions/index.js +++ b/app/javascript/vehicle_journeys/actions/index.js @@ -269,7 +269,10 @@ const actions = { type: 'RECEIVE_TOTAL_COUNT', total }), - humanOID: (oid) => oid.split(':')[2].split("-").pop(), + humanOID: (oid) => { + let shortOId = oid.split(':')[2].split("-").pop() + return shortOId.length > 10 ? `${shortOId.slice(0, 10)}...` : shortOId + }, fetchVehicleJourneys : (dispatch, currentPage, nextPage, queryString) => { if(currentPage == undefined){ currentPage = 1 diff --git a/app/javascript/vehicle_journeys/components/VehicleJourney.js b/app/javascript/vehicle_journeys/components/VehicleJourney.js index 7a49182ae..91f8a8eee 100644 --- a/app/javascript/vehicle_journeys/components/VehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/VehicleJourney.js @@ -44,6 +44,7 @@ export default class VehicleJourney extends Component { render() { this.previousCity = undefined + let {time_tables} = this.props.value return ( <div className={'t2e-item' + (this.props.value.deletable ? ' disabled' : '') + (this.props.value.errors ? ' has-error': '')}> @@ -51,9 +52,10 @@ export default class VehicleJourney extends Component { <div className='strong mb-xs'>{this.props.value.objectid ? actions.humanOID(this.props.value.objectid) : '-'}</div> <div>{actions.humanOID(this.props.value.journey_pattern.objectid)}</div> <div> - {this.props.value.time_tables.map((tt, i)=> + {time_tables.slice(0,3).map((tt, i)=> <span key={i} className='vj_tt'>{this.timeTableURL(tt)}</span> )} + {time_tables.length > 3 && <span className='vj_tt'> + {time_tables.length - 3}</span>} </div> {(this.props.filters.policy['vehicle_journeys.update'] == true && this.props.editMode) && diff --git a/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js index fd2304901..1b93222f6 100644 --- a/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js @@ -5,6 +5,8 @@ import TimetableSelect2 from './select2s/TimetableSelect2' export default class TimetablesEditVehicleJourney extends Component { constructor(props) { super(props) + this.handleSubmit = this.handleSubmit.bind(this) + this.timeTableURL = this.timeTableURL.bind(this) } handleSubmit() { @@ -13,6 +15,11 @@ export default class TimetablesEditVehicleJourney extends Component { $('#CalendarsEditVehicleJourneyModal').modal('hide') } + timeTableURL(tt) { + let refURL = window.location.pathname.split('/', 3).join('/') + return refURL + '/time_tables/' + tt.id + } + render() { if(this.props.status.isFetching == true) { return false @@ -57,7 +64,7 @@ export default class TimetablesEditVehicleJourney extends Component { {this.props.modal.modalProps.timetables.map((tt, i) => <div className='nested-fields' key={i}> <div className='wrapper'> - <div>{tt.comment}</div> + <div> <a href={this.timeTableURL(tt)} target="_blank">{tt.comment}</a> </div> <div> <a href='#' @@ -101,7 +108,7 @@ export default class TimetablesEditVehicleJourney extends Component { <button className='btn btn-primary' type='button' - onClick={this.handleSubmit.bind(this)} + onClick={this.handleSubmit} > Valider </button> |
