0.8.0 • Published 6 years ago
vue-directive-window v0.8.0
Vue.js directive that enhance your Modal Window, support drag, resize and maximize.
vue-directive-windowrequires your Node.js version >= 8.
Installation
There are two ways of installation, from CDN and from npm, you can choose which you like.
CDN
<script src="https://unpkg.com/vue-directive-window/dist/vue-directive-window.umd.min.js"></script>npm
npm install vue-directive-windowLocal document
npm startHello World
vue-directive-window provides two ways to use:
- Vue Custom Directive
- general javascript class library
Vue Custom Directive
<template>
<div v-window="windowParams">
<!-- container content -->
</div>
</template>
<script>
import VueDirectiveWindow from 'vue-directive-window';
Vue.use(VueDirectiveWindow); // When you take the CDN way, you don't need to import anything; you may use `Vue.use(window['vue-directive-window'])` instead.
export default {
data() {
return {
windowParams: {
movable: false,
resizable: ['left', 'left-top'],
},
};
},
}
</script>Javascript Class Library
<div class="demo-window" v-window="windowParams">
<!-- container content -->
</div>import { enhanceWindow } from 'vue-directive-window'; // When you take the CDN way, you may use `const enhanceWindow = window['vue-directive-window'].enhanceWindow;` instead.
const windowParams = {
movable: false
resizable: ['left', 'left-top']
};
enhanceWindow(document.querySelector('.demo-window'), windowParams);Browser Compatibility
| IE10 | IE11 | Chrome |
|---|---|---|
| OK | OK | OK |
Parameters
minWidth
- Type:
Number - Default:
100 - Description: window's minimum width(px)
maxWidth
- Type:
Number - Description: window's maximum width(px)
minHeight
- Type:
Number - Default:
100 - Description: window's minimum height(px)
maxHeight
- Type:
Number - Description: window's maximum height(px)
movable
- Type:
Boolean/String - Default:
true - Accepted Values:
true/false/'horizontal'/'vertical' - Description: Is drag feature available; when set
movableto'vertical', users will be only allow to make vertical drag; for the same reason,'horizontal'means only allow horizontal drag; when settrue, both directions are available.
resizable
- Type:
Boolean/Array - Default:
true - Accepted Values:
left-top/left-bottom/left/right-top/right-bottom/right/top/bottom - Description: is resize feature available; when it is
true, it means you could resize the window from every eight directions; when it is an Array value which contain String value, like['left', 'left-top']you could resize the window only from targeted directions.
customMoveHandler
- Type:
String/Element - Description: custom drag handler. When it is
null, you could move the window by dragging every inch of this window. Otherwise, when it is a String value,vue-directive-windowwill usedocument.querySelector(customMoveHandler)to get the handler's Element; in that case, you could move the window only by dragging the handler.
customMaximizeHandler
- Type:
String/Element - Description: maximize feature's handler. When it is a String value,
vue-directive-windowwill usedocument.querySelector(customMoveHandler)to get the handler.
maximizeCallback
- Type:
Function - Description: window maximizeCallback function; there is one parameter, which means if it is current maximize(Boolean).
moveStartCallback
- Type:
Function - Description: triggers when drag&move start.
movingCallback
- Type:
Function - Description: triggers multiple times during drag&move going.
moveEndCallback
- Type:
Function - Description: triggers when drag&move end.
Author
👤 Array Huang
- Github: @Array-Huang
Give a ⭐️ if this project helped you!
📝 License
Copyright © 2019 Array Huang. This project is MIT licensed.
0.8.0
6 years ago
0.7.5
6 years ago
0.7.4
6 years ago
0.7.3
6 years ago
0.7.2
6 years ago
0.7.1
6 years ago
0.7.0
6 years ago
0.6.8
6 years ago
0.6.7
6 years ago
0.6.6
6 years ago
0.6.5
6 years ago
0.6.4
6 years ago
0.6.3
6 years ago
0.6.2
6 years ago
0.6.1
6 years ago
0.6.0
6 years ago
0.5.0
6 years ago
0.4.4
6 years ago
0.4.1
6 years ago
0.4.0
6 years ago
0.3.0
6 years ago
0.2.0
6 years ago
0.1.0
6 years ago