56 lines
1.5 KiB
TypeScript
Raw Normal View History

2021-09-05 10:39:32 +02:00
import { MutationTree } from 'vuex'
import { WORKOUTS_STORE } from '@/store/constants'
2021-09-26 08:59:17 +02:00
import { initialWorkoutValue } from '@/store/modules/workouts/state'
2021-09-05 10:39:32 +02:00
import {
IWorkoutsState,
TWorkoutsMutations,
} from '@/store/modules/workouts/types'
2021-09-26 08:59:17 +02:00
import { IWorkout, IWorkoutApiChartData } from '@/types/workouts'
2021-09-05 10:39:32 +02:00
export const mutations: MutationTree<IWorkoutsState> & TWorkoutsMutations = {
[WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](
state: IWorkoutsState,
workouts: IWorkout[]
) {
state.calendar_workouts = workouts
},
[WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](
state: IWorkoutsState,
workouts: IWorkout[]
) {
state.user_workouts = workouts
},
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](
state: IWorkoutsState,
workout: IWorkout
) {
2021-09-26 13:40:12 +02:00
state.workoutData.workout = workout
},
2021-09-26 08:59:17 +02:00
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](
state: IWorkoutsState,
2021-09-26 08:59:17 +02:00
chartData: IWorkoutApiChartData[]
) {
2021-09-26 13:40:12 +02:00
state.workoutData.chartData = chartData
},
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](
state: IWorkoutsState,
gpx: string
) {
2021-09-26 13:40:12 +02:00
state.workoutData.gpx = gpx
},
2021-09-26 08:59:17 +02:00
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](
state: IWorkoutsState,
loading: boolean
) {
2021-09-26 13:40:12 +02:00
state.workoutData.loading = loading
2021-09-26 08:59:17 +02:00
},
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {
state.calendar_workouts = []
state.user_workouts = []
},
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {
2021-09-26 13:40:12 +02:00
state.workoutData = initialWorkoutValue
},
2021-09-05 10:39:32 +02:00
}