ModalManager.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <template>
  2. <div>
  3. <div v-for="activeModalUuid in activeModals" :key="activeModalUuid">
  4. <component
  5. :is="this[modalMap[activeModalUuid]]"
  6. :modal-uuid="activeModalUuid"
  7. />
  8. </div>
  9. </div>
  10. </template>
  11. <script>
  12. import { mapState } from "vuex";
  13. import { mapModalComponents } from "@/vuex_helpers";
  14. export default {
  15. computed: {
  16. ...mapModalComponents("./components/modals", {
  17. editUser: "EditUser.vue",
  18. login: "Login.vue",
  19. register: "Register.vue",
  20. whatIsNew: "WhatIsNew.vue",
  21. createStation: "CreateStation.vue",
  22. editNews: "EditNews.vue",
  23. manageStation: "ManageStation/index.vue",
  24. importPlaylist: "ImportPlaylist.vue",
  25. editPlaylist: "EditPlaylist/index.vue",
  26. createPlaylist: "CreatePlaylist.vue",
  27. report: "Report.vue",
  28. viewReport: "ViewReport.vue",
  29. bulkActions: "BulkActions.vue",
  30. viewPunishment: "ViewPunishment.vue",
  31. removeAccount: "RemoveAccount.vue",
  32. importAlbum: "ImportAlbum.vue",
  33. confirm: "Confirm.vue",
  34. editSongs: "EditSongs.vue",
  35. editSong: "EditSong/index.vue"
  36. }),
  37. ...mapState("modalVisibility", {
  38. activeModals: state => state.new.activeModals,
  39. modalMap: state => state.new.modalMap
  40. })
  41. }
  42. };
  43. </script>