aboutsummaryrefslogtreecommitdiffstats
path: root/app/javascript
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript')
-rw-r--r--app/javascript/vehicle_journeys/components/VehicleJourney.js21
-rw-r--r--app/javascript/vehicle_journeys/components/VehicleJourneys.js17
-rw-r--r--app/javascript/vehicle_journeys/containers/VehicleJourneysList.js4
3 files changed, 41 insertions, 1 deletions
diff --git a/app/javascript/vehicle_journeys/components/VehicleJourney.js b/app/javascript/vehicle_journeys/components/VehicleJourney.js
index a667bf8aa..73d99d120 100644
--- a/app/javascript/vehicle_journeys/components/VehicleJourney.js
+++ b/app/javascript/vehicle_journeys/components/VehicleJourney.js
@@ -75,6 +75,21 @@ export default class VehicleJourney extends Component {
return (bool1 || bool2)
}
+ extraHeaderValue(header) {
+ if(header.type == "custom_field"){
+ let field = this.props.value.custom_fields[header["name"]]
+ if(field.field_type == "list"){
+ return field.options.list_values[field.value]
+ }
+ else{
+ return field.value
+ }
+ }
+ else{
+ return this.props.value[header["name"]]
+ }
+ }
+
render() {
this.previousCity = undefined
let detailed_calendars = this.hasFeature('detailed_calendars') && !this.disabled
@@ -95,6 +110,11 @@ export default class VehicleJourney extends Component {
<div>{this.props.value.published_journey_name && this.props.value.published_journey_name != I18n.t('undefined') ? this.props.value.published_journey_name : '-'}</div>
<div>{this.props.value.journey_pattern.short_id || '-'}</div>
<div>{this.props.value.company ? this.props.value.company.name : '-'}</div>
+ {
+ this.props.extraHeaders.map((header, i) =>
+ <div key={i}>{this.extraHeaderValue(header)}</div>
+ )
+ }
{ this.hasFeature('purchase_windows') &&
<div>
{purchase_windows.slice(0,3).map((tt, i)=>
@@ -222,4 +242,5 @@ VehicleJourney.propTypes = {
vehicleJourneys: PropTypes.object.isRequired,
allTimeTables: PropTypes.array.isRequired,
allPurchaseWindows: PropTypes.array.isRequired,
+ extraHeaders: PropTypes.array.isRequired,
}
diff --git a/app/javascript/vehicle_journeys/components/VehicleJourneys.js b/app/javascript/vehicle_journeys/components/VehicleJourneys.js
index ae38a21af..ca08ba3b1 100644
--- a/app/javascript/vehicle_journeys/components/VehicleJourneys.js
+++ b/app/javascript/vehicle_journeys/components/VehicleJourneys.js
@@ -163,6 +163,15 @@ export default class VehicleJourneys extends Component {
)
}
+ extraHeaderLabel(header) {
+ if(header["type"] == "custom_field"){
+ return this.props.customFields[header["name"]]["name"]
+ }
+ else{
+ return I18n.attribute_name("vehicle_journey", header)
+ }
+ }
+
render() {
this.previousBreakpoint = undefined
this._allTimeTables = null
@@ -208,6 +217,11 @@ export default class VehicleJourneys extends Component {
<div>{I18n.attribute_name("vehicle_journey", "name")}</div>
<div>{I18n.attribute_name("vehicle_journey", "journey_pattern_id")}</div>
<div>{I18n.model_name("company")}</div>
+ {
+ this.props.extraHeaders.map((header, i) =>
+ <div key={i}>{this.extraHeaderLabel(header)}</div>
+ )
+ }
{ this.hasFeature('purchase_windows') &&
<div>
{ detailed_purchase_windows &&
@@ -278,6 +292,7 @@ export default class VehicleJourneys extends Component {
disabled={this.isReturn()}
allTimeTables={this.allTimeTables()}
allPurchaseWindows={this.allPurchaseWindows()}
+ extraHeaders={this.props.extraHeaders}
/>
)}
</div>
@@ -293,6 +308,8 @@ export default class VehicleJourneys extends Component {
VehicleJourneys.propTypes = {
status: PropTypes.object.isRequired,
filters: PropTypes.object.isRequired,
+ extraHeaders: PropTypes.array.isRequired,
+ customFields: PropTypes.object.isRequired,
stopPointsList: PropTypes.array.isRequired,
onLoadFirstPage: PropTypes.func.isRequired,
onUpdateTime: PropTypes.func.isRequired,
diff --git a/app/javascript/vehicle_journeys/containers/VehicleJourneysList.js b/app/javascript/vehicle_journeys/containers/VehicleJourneysList.js
index 81d603fd4..f21e2c87e 100644
--- a/app/javascript/vehicle_journeys/containers/VehicleJourneysList.js
+++ b/app/javascript/vehicle_journeys/containers/VehicleJourneysList.js
@@ -10,7 +10,9 @@ const mapStateToProps = (state) => {
status: state.status,
filters: state.filters,
stopPointsList: state.stopPointsList,
- returnStopPointsList: state.returnStopPointsList
+ returnStopPointsList: state.returnStopPointsList,
+ extraHeaders: window.extra_headers,
+ customFields: window.custom_fields,
}
}