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