
Security News
Node.js Moves Toward Stable TypeScript Support with Amaro 1.0
Amaro 1.0 lays the groundwork for stable TypeScript support in Node.js, bringing official .ts loading closer to reality.
@dragndrop/vue-draggable
Advanced tools
Draggable component for VueJS 2+ which implements @dragndrop/draggable component.
npm install @dragndrop/vue-draggable
Draggable element can be used for different functionalities - from moving elements around to make sortable list or draggable grid elements.
Component has its declarations (*.d.ts) for Typescript available.
import {VueDraggable} from '@dragndrop/vue-draggable';
Vue.component('VueDraggable', VueDraggable);
import Vue from 'vue';
import VueDraggable from '@dragndrop/vue-draggable';
Vue.use(VueDraggable);
<template>
<VueDraggable
:data="dataTransfer"
:avatar="avatar"
@onDrag="onDrag"
>
<div>Example element</div>
</VueDraggable>
</template>
<script>
export default {
data() {
return {
dataTransfer: 'example data',
avatar: new Avatar.clone(),
}
},
methods: {
onDrag(event) {
console.log(event.dragInfo.data); // 'example data'
}
}
}
</script>
CSS Class | Description |
---|---|
draggable--dragging | Sets this class to element when dragging |
draggable--occurring | Sets this class to body element when dragging |
If you want to use dragndrop in Shadow DOM you need to add draggable--retarget
attribute to your host element so events will be bubble through Shoadow DOM and recursive elementFromPoint()
calls will work correctly.
Events | Type | Data | Description |
---|---|---|---|
onDragStart | CustomEvent | {originalEvent, dragInfo, dropzoneElement} | Event dispatched when dragging starts |
onDrag | CustomEvent | {originalEvent, dragInfo, dropzoneElement} | Event dispatched when dragging |
onDragEnd | CustomEvent | {originalEvent, dragInfo, dropzoneElement} | Event dispatched when dragging ends |
DragInfo | Type | Description |
---|---|---|
draggableId | Number | Id of draggable element |
element | Element | Draggable element |
data | Type Generic | Data attached to draggable with data property |
startPosition | Point | Start position |
avatar | Avatar | Avatar attached to draggable with avatar property |
axis | Axis | Axis which dragging is handled 'horizontal', 'vertical' and 'both' |
position | Point | Current position of cursor |
shift | Point | Distance from start position to elements top-left corner |
Property | Value Type | Description |
---|---|---|
data | Generic Type | Data which is attached to draggable |
draggable | Boolean | Turn on / off draggable functionality |
avatar | Avatar | Element which is rendered when element is dragging |
axis | Axis ('both', 'horizontal', 'vertical') | Axis the dragging is available for |
handle | String | Selector on which dragging is available (children of element are included) |
cancel | String | Selectors on which draggins is not available (children of element are included) |
draggingClass | String | Class which is set on element when dragging (draggable--dragging default) |
draggingClassBody | String | Class which is set on body element when dragging (draggable--occurring default) |
minDragStartDistance | number | Min distance to start dragStart state (4 default) |
touchAction | String or null | Makes touch-action property set on element when drag is started (undefined default) |
customScroll | ((startPosition: Point, currentPosition: Point) => void) or boolean | Allows to specify customScroll behavior with function or when set with false prevents from custom scroll which is set by default |
Method Signature | Description |
---|---|
abort() => void | Aborts current dragging |
destroy() => void | Clean up method. Is used on beforeDestroy hook. |
FAQs
Draggable component for VueJS
The npm package @dragndrop/vue-draggable receives a total of 0 weekly downloads. As such, @dragndrop/vue-draggable popularity was classified as not popular.
We found that @dragndrop/vue-draggable 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
Amaro 1.0 lays the groundwork for stable TypeScript support in Node.js, bringing official .ts loading closer to reality.
Research
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.