Init project
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
/*=========================================================================================
|
||||
File Name: moduleCalendar.js
|
||||
Description: Calendar Module
|
||||
----------------------------------------------------------------------------------------
|
||||
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
||||
Author: Pixinvent
|
||||
Author URL: http://www.themeforest.net/user/pixinvent
|
||||
==========================================================================================*/
|
||||
|
||||
|
||||
import state from './moduleCalendarState.js'
|
||||
import mutations from './moduleCalendarMutations.js'
|
||||
import actions from './moduleCalendarActions.js'
|
||||
import getters from './moduleCalendarGetters.js'
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions,
|
||||
getters
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
/*=========================================================================================
|
||||
File Name: moduleCalendarActions.js
|
||||
Description: Calendar Module Actions
|
||||
----------------------------------------------------------------------------------------
|
||||
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
||||
Author: Pixinvent
|
||||
Author URL: http://www.themeforest.net/user/pixinvent
|
||||
==========================================================================================*/
|
||||
|
||||
import axios from '@/axios.js'
|
||||
|
||||
export default {
|
||||
addEvent ({ commit }, event) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.post('/api/apps/calendar/events/', {event})
|
||||
.then((response) => {
|
||||
commit('ADD_EVENT', Object.assign(event, {id: response.data.id}))
|
||||
resolve(response)
|
||||
})
|
||||
.catch((error) => { reject(error) })
|
||||
})
|
||||
},
|
||||
fetchEvents ({ commit }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.get('/api/apps/calendar/events')
|
||||
.then((response) => {
|
||||
commit('SET_EVENTS', response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((error) => { reject(error) })
|
||||
})
|
||||
},
|
||||
fetchEventLabels ({ commit }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.get('/api/apps/calendar/labels')
|
||||
.then((response) => {
|
||||
commit('SET_LABELS', response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((error) => { reject(error) })
|
||||
})
|
||||
},
|
||||
editEvent ({ commit }, event) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.post(`/api/apps/calendar/event/${event.id}`, {event})
|
||||
.then((response) => {
|
||||
|
||||
// Convert Date String to Date Object
|
||||
const event = response.data
|
||||
event.startDate = new Date(event.startDate)
|
||||
event.endDate = new Date(event.endDate)
|
||||
|
||||
commit('UPDATE_EVENT', event)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((error) => { reject(error) })
|
||||
})
|
||||
},
|
||||
removeEvent ({ commit }, eventId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.delete(`/api/apps/calendar/event/${eventId}`)
|
||||
.then((response) => {
|
||||
commit('REMOVE_EVENT', response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((error) => { reject(error) })
|
||||
})
|
||||
},
|
||||
eventDragged ({ commit }, payload) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.post(`/api/apps/calendar/event/dragged/${payload.event.id}`, {payload})
|
||||
.then((response) => {
|
||||
|
||||
// Convert Date String to Date Object
|
||||
const event = response.data
|
||||
event.startDate = new Date(event.startDate)
|
||||
event.endDate = new Date(event.endDate)
|
||||
|
||||
commit('UPDATE_EVENT', event)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((error) => { reject(error) })
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
/*=========================================================================================
|
||||
File Name: moduleCalendarGetters.js
|
||||
Description: Calendar Module Getters
|
||||
----------------------------------------------------------------------------------------
|
||||
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
||||
Author: Pixinvent
|
||||
Author URL: http://www.themeforest.net/user/pixinvent
|
||||
==========================================================================================*/
|
||||
|
||||
|
||||
export default {
|
||||
getEvent: state => (eventId) => state.events.find((event) => event.id === eventId)
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
/*=========================================================================================
|
||||
File Name: moduleCalendarMutations.js
|
||||
Description: Calendar Module Mutations
|
||||
----------------------------------------------------------------------------------------
|
||||
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
||||
Author: Pixinvent
|
||||
Author URL: http://www.themeforest.net/user/pixinvent
|
||||
==========================================================================================*/
|
||||
|
||||
|
||||
export default {
|
||||
ADD_EVENT (state, event) {
|
||||
state.events.push(event)
|
||||
},
|
||||
SET_EVENTS (state, events) {
|
||||
state.events = events
|
||||
},
|
||||
SET_LABELS (state, labels) {
|
||||
state.eventLabels = labels
|
||||
},
|
||||
UPDATE_EVENT (state, event) {
|
||||
const eventIndex = state.events.findIndex((e) => e.id === event.id)
|
||||
Object.assign(state.events[eventIndex], event)
|
||||
},
|
||||
REMOVE_EVENT (state, eventId) {
|
||||
const eventIndex = state.events.findIndex((e) => e.id === eventId)
|
||||
state.events.splice(eventIndex, 1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
/*=========================================================================================
|
||||
File Name: moduleCalendarState.js
|
||||
Description: Calendar Module State
|
||||
----------------------------------------------------------------------------------------
|
||||
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
||||
Author: Pixinvent
|
||||
Author URL: http://www.themeforest.net/user/pixinvent
|
||||
==========================================================================================*/
|
||||
|
||||
export default {
|
||||
|
||||
// Calendar Labels
|
||||
eventLabels: [],
|
||||
|
||||
// Simple Calendar State
|
||||
events: []
|
||||
}
|
||||
Reference in New Issue
Block a user