xref: /openbmc/webui-vue/src/components/Composables/useLoadingBar.js (revision d3b05033fe82aed6c53f4f2b52c23d3bd285d423)
1/**
2 * Composable for loading bar utilities
3 * Extracted from LoadingBarMixin for use in Composition API
4 */
5
6import eventBus from '@/eventBus';
7import { ref } from 'vue';
8
9export function useLoadingBar() {
10  const loading = ref(true);
11  const startLoader = () => {
12    eventBus.$emit('loader-start');
13    loading.value = true;
14  };
15
16  const endLoader = () => {
17    eventBus.$emit('loader-end');
18    loading.value = false;
19  };
20
21  const hideLoader = () => {
22    eventBus.$emit('loader-hide');
23  };
24
25  return {
26    loading,
27    startLoader,
28    endLoader,
29    hideLoader,
30  };
31}
32