You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB

  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import alert from './modules/alert'
  4. import anchor from './modules/anchor'
  5. import editor from './modules/editor'
  6. import editorCodeblock from './modules/editor-codeblock'
  7. import editorFile from './modules/editor-file'
  8. import editorVideo from './modules/editor-video'
  9. import modalCreatePage from './modules/modal-create-page'
  10. import modalCreateUser from './modules/modal-create-user'
  11. import modalDeleteUser from './modules/modal-delete-user'
  12. import modalDiscardPage from './modules/modal-discard-page'
  13. import modalMovePage from './modules/modal-move-page'
  14. import pageLoader from './modules/page-loader'
  15. Vue.use(Vuex)
  16. export default new Vuex.Store({
  17. state: {
  18. loading: false
  19. },
  20. mutations: {
  21. loadingChange: (state, loadingState) => { state.loading = loadingState }
  22. },
  23. actions: {
  24. startLoading({ commit }) { commit('loadingChange', true) },
  25. stopLoading({ commit }) { commit('loadingChange', false) }
  26. },
  27. getters: {},
  28. modules: {
  29. alert,
  30. anchor,
  31. editor,
  32. editorCodeblock,
  33. editorFile,
  34. editorVideo,
  35. modalCreatePage,
  36. modalCreateUser,
  37. modalDeleteUser,
  38. modalDiscardPage,
  39. modalMovePage,
  40. pageLoader
  41. }
  42. })