summaryrefslogtreecommitdiff
path: root/src/components/Composables/useLoadingBar.js
blob: 4bcf98344aa5e5932933f220d954bf4e40609cbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * Composable for loading bar utilities
 * Extracted from LoadingBarMixin for use in Composition API
 */

import eventBus from '@/eventBus';
import { ref } from 'vue';

export function useLoadingBar() {
  const loading = ref(true);
  const startLoader = () => {
    eventBus.$emit('loader-start');
    loading.value = true;
  };

  const endLoader = () => {
    eventBus.$emit('loader-end');
    loading.value = false;
  };

  const hideLoader = () => {
    eventBus.$emit('loader-hide');
  };

  return {
    loading,
    startLoader,
    endLoader,
    hideLoader,
  };
}