Fullscreen Loading Indicator Component For Vue.js

Vue loading overlay component for full-screen loading indicator.

full screen loader, loading gif full screen, full screen loading overlay css, full screen loader jquery, full screen spinner, html full screen loading overlay

Table of Contents

How to make use of it:

Installation:

# yarn
yarn add [email protected]^4.0

# npm
npm install [email protected]^4.0 

Use as a component:

<template>
    <div class="vld-parent">
        <loading v-model:active="isLoading"
                 :can-cancel="true"
                 :on-cancel="onCancel"
                 :is-full-page="fullPage"/>

        <label><input type="checkbox" v-model="fullPage">Full page?</label>
        <button @click.prevent="doAjax">fetch Data</button>
    </div>
</template>

<script>
    import Loading from 'vue-loading-overlay';
    import 'vue-loading-overlay/dist/vue-loading.css';

    export default {
        data() {
            return {
                isLoading: false,
                fullPage: true
            }
        },
        components: {
            Loading
        },
        methods: {
            doAjax() {
                this.isLoading = true;
                // simulate AJAX
                setTimeout(() => {
                    this.isLoading = false
                }, 5000)
            },
            onCancel() {
                console.log('User cancelled the loader.')
            }
        }
    }
</script>

Install the plugin in your app.

import {createApp} from 'vue';
import VueLoading from 'vue-loading-overlay';
import 'vue-loading-overlay/dist/vue-loading.css';
// Your app initialization logic goes here
const app = createApp({});
app.use(VueLoading);
app.mount('#app');

Then use the plugin in your plugin.

<template>
    <form @submit.prevent="submit"
          class="vld-parent"
          ref="formContainer">
        <!-- your form inputs goes here-->
        <label><input type="checkbox" v-model="fullPage">Full page?</label>
        <button type="submit">Login</button>
    </form>
</template>

<script>
    export default {
        data() {
            return {
                fullPage: false
            }
        },
        methods: {
            submit() {
                let loader = this.$loading.show({
                    // Optional parameters
                    container: this.fullPage ? null : this.$refs.formContainer,
                    canCancel: true,
                    onCancel: this.onCancel,
                });
                // simulate AJAX
                setTimeout(() => {
                    loader.hide()
                }, 5000)
            },
            onCancel() {
                console.log('User cancelled the loader.')
            }
        }
    }
</script>

Available props

The component accepts these props:

AttributeTypeDefaultDescription
activeBooleanfalseShow loading by default when true, use it as v-model:active
can-cancelBooleanfalseAllow user to cancel by pressing ESC or clicking outside
on-cancelFunction()=>{}Do something upon cancel, works in conjunction with can-cancel
is-full-pageBooleantrueWhen false; limit loader to its container^
transitionStringfadeTransition name
colorString#000Customize the color of loading icon
heightNumber*Customize the height of loading icon
widthNumber*Customize the width of loading icon
loaderStringspinnerName of icon shape you want use as loader, spinner or dots or bars
background-colorString#fffCustomize the overlay background color
opacityNumber0.5Customize the overlay background opacity
z-indexNumber9999Customize the overlay z-index
enforce-focusBooleantrueForce focus on loader
lock-scrollBooleanfalseFreeze the scrolling during full screen loader
blurString2pxValue for the CSS blur backdrop-filter. Set to null or an empty string to disable blurring

Fullscreen Loading Indicator, Vue Loading Overlay Component Plugin/Github, loading spinner examples


See Demo And Download

Official Website(ankurk91): Click Here

This superior jQuery/javascript plugin is developed by ankurk91. For extra Advanced Usages, please go to the official website.

Related Posts

Confetti-Falling-Animation-Effect-party

Confetti Falling Animation Effect In JavaScript | party.js

Party.js is a JavaScript library to brighten user site experience with visual effects! Celebrate success with dom confetti! The library is written in TypeScript and compiled into…

Star-Rating-JavaScript

Select Box Based Star Rating JavaScript Library | star-rating.js

star-rating.js is a small JavaScript library to create a customizable and gradually improved star rating control from a regular tick box with numeric values. The ES6 module…

Bootstrap-Show-Notification

Corner Fixed Notifications Alerts With Bootstrap | BS4 Show Notification

Bootstrap Notification is an easy-to-use jQuery plugin that uses the Bootstrap Alerts component to create static, rejectable, and stackable notification popups in the upper right corner of the…

Stackable-Multi-level-Sidebar-Menu

Create Stackable Multi-level Sidebar Menu | HC Off-canvas Nav

Multi-Level Sidebar Slide Menu – HC MobileNav is a jQuery plugin for creating multi-level, mobile-first, totally accessible, off-canvas facet navigation that helps the infinite nesting of submenu…

vue-masonry-gallery

Responsive Masonry Layout with SSR Support for Vue 3 | vue-masonry-wall

Vue masonry wall is a responsive masonry layout component for Vue 3 to deliver a Masonry-style responsive grid layout with SSR and RTL layout support. Features 📱…

bootstrap-5-bs-toaster

A Bootstrap 5 Toast Notification Framework Library | bs-toaster

bs-toaster is simple to instantiate bs-toaster and create multiple toasts effortlessly using native Bootstrap 5! Feature Facts Small and clean Modern browser support. No IE sorry 💥…