You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.1 KiB
TypeScript
58 lines
1.1 KiB
TypeScript
![]()
3 years ago
|
declare module "vuedraggable" {
|
||
|
import Vue, { ComponentOptions } from "vue";
|
||
|
|
||
|
export interface DraggedContext<T> {
|
||
|
index: number;
|
||
|
futureIndex: number;
|
||
|
element: T;
|
||
|
}
|
||
|
|
||
|
export interface DropContext<T> {
|
||
|
index: number;
|
||
|
component: Vue;
|
||
|
element: T;
|
||
|
}
|
||
|
|
||
|
export interface Rectangle {
|
||
|
top: number;
|
||
|
right: number;
|
||
|
bottom: number;
|
||
|
left: number;
|
||
|
width: number;
|
||
|
height: number;
|
||
|
}
|
||
|
|
||
|
export interface MoveEvent<T> {
|
||
|
originalEvent: DragEvent;
|
||
|
dragged: Element;
|
||
|
draggedContext: DraggedContext<T>;
|
||
|
draggedRect: Rectangle;
|
||
|
related: Element;
|
||
|
relatedContext: DropContext<T>;
|
||
|
relatedRect: Rectangle;
|
||
|
from: Element;
|
||
|
to: Element;
|
||
|
willInsertAfter: boolean;
|
||
|
isTrusted: boolean;
|
||
|
}
|
||
|
|
||
|
export interface ChangeEvent<T> {
|
||
|
added: {
|
||
|
newIndex: number;
|
||
|
element: T;
|
||
|
};
|
||
|
removed: {
|
||
|
oldIndex: number;
|
||
|
element: T;
|
||
|
};
|
||
|
moved: {
|
||
|
newIndex: number;
|
||
|
oldIndex: number;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
const draggableComponent: ComponentOptions<Vue>;
|
||
|
|
||
|
export default draggableComponent;
|
||
|
}
|