import 'es6-promise/auto'; import { createStore } from 'vuex'; import { postCalendarRange, patchCalendarRange, deleteCalendarRange } from '../_api/api'; const debug = process.env.NODE_ENV !== 'production'; const store = createStore({ strict: debug, state: { newCalendarRanges: [], updateCalendarRanges: [], deleteCalendarRanges: [] }, mutations: { updateRange(state, payload) { state.updateCalendarRanges.push({ id: payload.event.extendedProps.calendarRangeId, start: payload.event.start, end: payload.event.end }); }, addRange(state, payload) { state.newCalendarRanges.push({ start: payload.start, end: payload.end }); }, deleteRange(state, payload) { state.deleteCalendarRanges.push({ id: payload.extendedProps.calendarRangeId, start: payload.start, end: payload.end }); }, clearNewCalendarRanges(state) { state.newCalendarRanges = []; }, clearUpdateCalendarRanges(state) { state.updateCalendarRanges = []; }, deleteUpdateCalendarRanges(state) { state.deleteCalendarRanges = []; } }, actions: { createRange({ commit }, payload) { console.log('### action createRange', payload); commit('addRange', payload); }, updateRange({ commit }, payload) { console.log('### action updateRange', payload); commit('updateRange', payload); }, deleteRange({ commit }, payload) { console.log('### action deleteRange', payload); commit('deleteRange', payload); }, clearNewCalendarRanges({ commit }, payload) { commit('clearNewCalendarRanges', payload); }, clearUpdateCalendarRanges({ commit }, payload) { commit('clearUpdateCalendarRanges', payload); }, deleteUpdateCalendarRanges({ commit }, payload) { commit('deleteUpdateCalendarRanges', payload); } } }); export default store;