DEPRECATED see cerijs
To mask out the background when a dialog / modal or similar is opened, a overlay is needed.
- singleton & z-index management to allow stacking
- background doesn't move when scroll gets disabled
npm install --save-dev vue-overlay
// [email protected]
npm install --save-dev vue-overlay@1or include build/bundle.js.
overlay = require("vue-overlay")(Vue)
# or, when using bundle.js
overlay = window.vueComps.overlayFor examples see dev/.
If you need to reliable get the Vue instance, see vue-mixins/vue
zIndex- the z-index of the opened overlay - will be raised by 5 for each overlayclose(callHooks=true)- shortcut foroverlay.close(options,callHooks)- options will be the same instance used for openingOptions
| Name | type | default | description |
|---|---|---|---|
| opacity | Number | 0.5 | opacity of the overlay |
| dismissable | Boolean | true | is the overlay dismissable by click or ESC? |
| onBeforeOpen | Function | null | hook before open animation |
| onOpened | Function | null | hook after open animation |
| onBeforeClose | Function | null | hook before close animation |
| onClosed | Function | null | hook after close animation |
| allowScroll | Boolean | false | don't set overflow:hidden on body |
| color | String | "black" | background-color of the overlay |
| zIndex | Number | 1000 | minimum zIndex for the new overlay, cannot be lower than 1000 |
optionsthe options object which was used to open a overlaycallHooksset tofalseto suppress the calls ofonBeforeCloseandonClosedof that overlay
overwrite to add a animation
elthedivelement of the overlayopacitythe target opacity of the opening/closingcba function which must be called when finished
vue-overlay is a singleton, so a fade function provided like this, will be used globally.
Only do this once:
Velocity = require("velocity-animate")
Overlay = require("vue-overlay")
Overlay.obj.methods.fade = function ({el,opacity,cb}) {
Velocity(el, {opacity: opacity}, {
duration: 300,
queue: false,
easing: 'easeOutQuad',
complete: cb
})
}- 2.0.0
now compatible with vue 2.0.0
Clone repository
npm install
npm run devBrowse to http://localhost:8080/.
Copyright (c) 2016 Paul Pflugradt Licensed under the MIT license.