czydojade/resources/ts/components/trip.ts

26 lines
781 B
TypeScript

import Vue from "vue";
import Component from "vue-class-component";
import { Prop } from "vue-property-decorator";
import { ScheduledStop } from "../model/trip";
import { Stop } from "../model";
type ScheduledStopInfo = ScheduledStop & { visited: boolean, current: boolean };
@Component({ template: require("../../components/trip.html") })
export class TripComponent extends Vue {
@Prop(Array) public schedule: ScheduledStop[];
@Prop(Object) public current: Stop;
get stops(): ScheduledStopInfo[] {
let visited = true;
return this.schedule.map(stop => ({
...stop,
current: stop.stop.id == this.current.id ? !(visited = false) : false,
visited: visited,
}));
}
}
Vue.component('Trip', TripComponent);