mirror of
https://github.com/Spythere/pojazdownik.git
synced 2026-05-03 05:18:10 +00:00
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { defineComponent } from 'vue';
|
|
import { useStore } from '../store';
|
|
import { ICarWagon, ILocomotive, IStock, IVehicle, LocoGroupType, WagonGroupType } from '../types/common.types';
|
|
import { isTractionUnit } from '../utils/vehicleUtils';
|
|
|
|
export default defineComponent({
|
|
setup() {
|
|
return {
|
|
store: useStore(),
|
|
};
|
|
},
|
|
|
|
computed: {},
|
|
|
|
methods: {
|
|
previewStock(stock: IStock) {
|
|
const vehicleRef = stock.vehicleRef;
|
|
|
|
this.store.chosenVehicle = vehicleRef;
|
|
|
|
if (isTractionUnit(vehicleRef)) {
|
|
this.store.chosenLoco = vehicleRef;
|
|
this.store.chosenCargo = null;
|
|
this.store.chosenLocoGroup = vehicleRef.group as LocoGroupType;
|
|
} else {
|
|
this.store.chosenCar = vehicleRef;
|
|
this.store.chosenCargo = stock.cargo || null;
|
|
this.store.chosenCarGroup = vehicleRef.group as WagonGroupType;
|
|
}
|
|
},
|
|
|
|
previewLocomotive(loco: ILocomotive) {
|
|
this.store.chosenLoco = loco;
|
|
this.store.chosenVehicle = loco;
|
|
this.store.chosenLocoGroup = loco.group;
|
|
},
|
|
|
|
previewCarWagon(carWagon: ICarWagon) {
|
|
this.store.chosenCar = carWagon;
|
|
this.store.chosenCarGroup = carWagon.group;
|
|
this.store.chosenVehicle = carWagon;
|
|
|
|
this.store.chosenCargo = null;
|
|
},
|
|
|
|
previewVehicle(vehicle: IVehicle) {
|
|
if (isTractionUnit(vehicle)) this.previewLocomotive(vehicle);
|
|
else this.previewCarWagon(vehicle);
|
|
},
|
|
|
|
resetPreview() {
|
|
this.store.chosenVehicle = null;
|
|
this.store.chosenCar = null;
|
|
this.store.chosenCargo = null;
|
|
this.store.chosenLoco = null;
|
|
},
|
|
},
|
|
});
|