useTransitionSetting.ts 1000 B

123456789101112131415161718192021222324252627282930313233
  1. import type { TransitionSetting } from '/@/types/config';
  2. import { computed, unref } from 'vue';
  3. import { appStore } from '/@/store/modules/app';
  4. export function useTransitionSetting() {
  5. const getTransitionSetting = computed(() => appStore.getProjectConfig.transitionSetting);
  6. const getEnableTransition = computed(() => unref(getTransitionSetting).enable);
  7. const getOpenNProgress = computed(() => unref(getTransitionSetting)?.openNProgress);
  8. const getOpenPageLoading = computed(() => {
  9. return unref(getTransitionSetting)?.openPageLoading && unref(getEnableTransition);
  10. });
  11. const getBasicTransition = computed(() => unref(getTransitionSetting)?.basicTransition);
  12. function setTransitionSetting(transitionSetting: Partial<TransitionSetting>) {
  13. appStore.commitProjectConfigState({ transitionSetting });
  14. }
  15. return {
  16. setTransitionSetting,
  17. getTransitionSetting,
  18. getEnableTransition,
  19. getOpenNProgress,
  20. getOpenPageLoading,
  21. getBasicTransition,
  22. };
  23. }