UNPKG

angular-draggable-droppable

Version:
67 lines (66 loc) 2.62 kB
import { OnInit, ElementRef, OnDestroy, EventEmitter, NgZone, Renderer2 } from '@angular/core'; import { Subscription } from 'rxjs'; import { DraggableHelper } from './draggable-helper.provider'; import { DraggableScrollContainerDirective } from './draggable-scroll-container.directive'; import * as i0 from "@angular/core"; export interface DropEvent<T = any> { dropData: T; /** * ClientX value of the mouse location where the drop occurred */ clientX: number; /** * ClientY value of the mouse location where the drop occurred */ clientY: number; /** * The target of the event where the drop occurred */ target: EventTarget; } export interface DragEvent<T = any> extends DropEvent<T> { } export interface ValidateDropParams extends DropEvent { } export declare type ValidateDrop = (params: ValidateDropParams) => boolean; export declare class DroppableDirective implements OnInit, OnDestroy { private element; private draggableHelper; private zone; private renderer; private scrollContainer; /** * Added to the element when an element is dragged over it */ dragOverClass: string; /** * Added to the element any time a draggable element is being dragged */ dragActiveClass: string; /** * Allow custom behaviour to control when the element is dropped */ validateDrop: ValidateDrop; /** * Called when a draggable element starts overlapping the element */ dragEnter: EventEmitter<DropEvent<any>>; /** * Called when a draggable element stops overlapping the element */ dragLeave: EventEmitter<DropEvent<any>>; /** * Called when a draggable element is moved over the element */ dragOver: EventEmitter<DropEvent<any>>; /** * Called when a draggable element is dropped on this element */ drop: EventEmitter<DropEvent<any>>; currentDragSubscription: Subscription; constructor(element: ElementRef<HTMLElement>, draggableHelper: DraggableHelper, zone: NgZone, renderer: Renderer2, scrollContainer: DraggableScrollContainerDirective); ngOnInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<DroppableDirective, [null, null, null, null, { optional: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration<DroppableDirective, "[mwlDroppable]", never, { "dragOverClass": "dragOverClass"; "dragActiveClass": "dragActiveClass"; "validateDrop": "validateDrop"; }, { "dragEnter": "dragEnter"; "dragLeave": "dragLeave"; "dragOver": "dragOver"; "drop": "drop"; }, never, never, false, never>; }