ng-drag-drop
Version:
Drag & Drop for Angular - based on HTML5 with no external dependencies.
95 lines (94 loc) • 2.89 kB
TypeScript
import { ElementRef, EventEmitter, OnInit, Renderer2, NgZone, OnDestroy } from '@angular/core';
import { NgDragDropService } from '../services/ng-drag-drop.service';
export declare class Draggable implements OnInit, OnDestroy {
protected el: ElementRef;
private renderer;
private ng2DragDropService;
private zone;
/**
* The data that will be avaliable to the droppable directive on its `onDrop()` event.
*/
dragData: any;
/**
* The selector that defines the drag Handle.
* If defined drag will only be allowed if dragged from the selector element.
*/
dragHandle: string;
/**
* Currently not used
*/
dragEffect: string;
/**
* Defines compatible drag drop pairs. Values must match both in draggable and droppable.dropScope.
*/
dragScope: string | Array<string>;
/**
* The CSS class applied to a draggable element. If a dragHandle is defined then its applied to that handle
* element only. By default it is used to change the mouse over pointer.
*/
dragHandleClass: string;
/**
* CSS class applied on the source draggable element while being dragged.
*/
dragClass: string;
/**
* CSS class applied on the drag ghost when being dragged.
*/
dragTransitClass: string;
/**
* The url to image that will be used as custom drag image when the draggable is being dragged.
*/
dragImage: string;
/**
* Defines if drag is enabled. `true` by default.
*/
dragEnabled: boolean;
/**
* Event fired when Drag is started
*/
onDragStart: EventEmitter<any>;
/**
* Event fired while the element is being dragged
*/
onDrag: EventEmitter<any>;
/**
* Event fired when drag ends
*/
onDragEnd: EventEmitter<any>;
/**
* @private
* Keeps track of mouse over element that is used to determine drag handles
*/
mouseDownElement: any;
/**
* @private
* Backing field for the dragEnabled property
*/
_dragEnabled: boolean;
/**
* @private
* Backing field for the dragImage property
*/
_dragImage: string;
/**
* @private
* Image element for the dragImage
*/
dragImageElement: HTMLImageElement;
/**
* @private
* Function for unbinding the drag listener
*/
unbindDragListener: Function;
constructor(el: ElementRef, renderer: Renderer2, ng2DragDropService: NgDragDropService, zone: NgZone);
ngOnInit(): void;
ngOnDestroy(): void;
dragStart(e: any): void;
drag(e: any): void;
dragEnd(e: any): void;
mousedown(e: any): void;
private allowDrag();
private applyDragHandleClass();
private getDragHandleElement();
unbindDragListeners(): void;
}