72 lines
2.1 KiB
JavaScript

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;