NEXT craftinamerica.org. Base setup for headless wordpress https://www.craftinamerica.org
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import api from '../../utils/api'
  2. const state = {
  3. all: [],
  4. loaded: false,
  5. singleEvent: null,
  6. }
  7. const getters = {
  8. allEvents: state => state.all,
  9. allEventsLoaded: state => state.loaded,
  10. }
  11. const actions = {
  12. getAllEvents({ commit }, sortType) {
  13. commit('CLEAR_EVENTS')
  14. commit('EVENTS_LOADED', false)
  15. return api.getByType('events', sortType, events => {
  16. commit('STORE_FETCHED_EVENTS', { events })
  17. commit('EVENTS_LOADED', true)
  18. })
  19. },
  20. getSingleEvent({ commit }, id) {
  21. commit('CLEAR_SINGLE_EVENT')
  22. commit('EVENTS_LOADED', false)
  23. api.getSingleType('events', id, event => {
  24. commit('STORE_FETCHED_SINGLE_EVENT', event)
  25. commit('EVENTS_LOADED', true)
  26. })
  27. },
  28. }
  29. const mutations = {
  30. STORE_FETCHED_EVENTS(state, { events }) {
  31. state.all = events
  32. },
  33. STORE_FETCHED_SINGLE_EVENT(state, event) {
  34. state.singleEvent = event
  35. },
  36. CLEAR_EVENTS(state) {
  37. state.all = []
  38. },
  39. CLEAR_SINGLE_EVENT(state) {
  40. state.singleEvent = null
  41. },
  42. EVENTS_LOADED(state, val) {
  43. state.loaded = val
  44. },
  45. }
  46. export default { state, getters, actions, mutations }