Security News
cURL Project and Go Security Teams Reject CVSS as Broken
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
@jxstjh/vue-loading-overlay
Advanced tools
Vue.js component for full screen loading indicator
# yarn
yarn add vue-loading-overlay
# npm
npm install vue-loading-overlay
<template>
<div class="vld-parent">
<loading :active.sync="isLoading"
:can-cancel="true"
:on-cancel="onCancel"
:is-full-page="fullPage"></loading>
<label><input type="checkbox" v-model="fullPage">Full page?</label>
<button @click.prevent="doAjax">fetch Data</button>
</div>
</template>
<script>
// Import component
import Loading from 'vue-loading-overlay';
// Import stylesheet
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>
<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>
import Vue from 'vue';
// Import component
import Loading from 'vue-loading-overlay';
// Import stylesheet
import 'vue-loading-overlay/dist/vue-loading.css';
// Init plugin
Vue.use(Loading);
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>
The component accepts these props:
Attribute | Type | Default | Description |
---|---|---|---|
active | Boolean | false | Show loading by default when true , use the .sync modifier to make it two-way binding |
can-cancel | Boolean | false | Allow user to cancel by pressing ESC or clicking outside |
on-cancel | Function | ()=>{} | Do something upon cancel, works in conjunction with can-cancel |
is-full-page | Boolean | true | When false ; limit loader to its container^ |
transition | String | fade | Transition name |
color | String | #000 | Customize the color of loading icon |
height | Number | * | Customize the height of loading icon |
width | Number | * | Customize the width of loading icon |
loader | String | spinner | Name of icon shape you want use as loader, spinner or dots or bars |
background-color | String | #fff | Customize the overlay background color |
opacity | Number | 0.5 | Customize the overlay background opacity |
z-index | Number | 9999 | Customize the overlay z-index |
enforce-focus | Boolean | true | Force focus on loader |
lock-scroll | Boolean | false | Freeze the scrolling during full screen loader |
blur | String | 2px | Value for the CSS blur backdrop-filter. Set to null or an empty string to disable blurring |
is-full-page
is set to false
, the container element should be positioned as position: relative
.
You can use CSS helper class vld-parent
.height
and width
values may be varied based on the loader
prop valueThe component accepts these slots:
default
: Replace the animated icon with yoursbefore
: Place anything before the animated icon, you may need to style this.after
: Place anything after the animated icon, you may need to style this.Vue.$loading.show(?propsData,?slots)
let loader = Vue.$loading.show({
// Pass props by their camelCased names
container: this.$refs.loadingContainer,
canCancel: true, // default false
onCancel: this.yourCallbackMethod,
color: '#000000',
loader: 'spinner',
width: 64,
height: 64,
backgroundColor: '#ffffff',
opacity: 0.5,
zIndex: 999,
},{
// Pass slots by their names
default: this.$createElement('your-custom-loader-component-name'),
});
// hide loader whenever you want
loader.hide();
You can set props and slots for all future instances when using as plugin
Vue.use(Loading, {
// props
color: 'red'
},{
// slots
})
Further you can override any prop or slot when creating new instances
let loader = Vue.$loading.show({
color: 'blue'
},{
// slots
});
<!-- Vue js -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6"></script>
<!-- Lastly add this package -->
<script src="https://cdn.jsdelivr.net/npm/vue-loading-overlay@3"></script>
<link href="https://cdn.jsdelivr.net/npm/vue-loading-overlay@3/dist/vue-loading.css" rel="stylesheet">
<!-- Init the plugin and component-->
<script>
Vue.use(VueLoading);
Vue.component('loading', VueLoading)
</script>
>=12.14
and yarn >=1.x
pre-installedyarn install
yarn start
http://localhost:9000
in your default web browser__test__
folder.yarn test
MIT License
FAQs
Vue.js component for full screen loading indicator.
We found that @jxstjh/vue-loading-overlay demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.