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.

47 lines
1.3 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 modalUpgradeSystem from './modules/modal-upgrade-system'
  15. import pageLoader from './modules/page-loader'
  16. Vue.use(Vuex)
  17. export default new Vuex.Store({
  18. state: {
  19. loading: false
  20. },
  21. mutations: {
  22. loadingChange: (state, loadingState) => { state.loading = loadingState }
  23. },
  24. actions: {
  25. startLoading({ commit }) { commit('loadingChange', true) },
  26. stopLoading({ commit }) { commit('loadingChange', false) }
  27. },
  28. getters: {},
  29. modules: {
  30. alert,
  31. anchor,
  32. editor,
  33. editorCodeblock,
  34. editorFile,
  35. editorVideo,
  36. modalCreatePage,
  37. modalCreateUser,
  38. modalDeleteUser,
  39. modalDiscardPage,
  40. modalMovePage,
  41. modalUpgradeSystem,
  42. pageLoader
  43. }
  44. })