UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

71 lines (70 loc) 2.66 kB
import { ElementRef, EventEmitter, NgZone, OnInit } from "@angular/core"; import { DragAndDropService } from "./drag-and-drop.service"; import { IDragEvent } from "./public-api"; import { UtilService } from "../../../services/util.service"; import * as i0 from "@angular/core"; /** * Directive that provides draggable behavior for an element * * __Usage:__ * * Bind this directive to an element to add a draggable behavior to it. * * `<div nuiDraggable>Some content</div>` * * Make sure that this zone has some content, because draggable directive doesn't set any height * to the element. This won't work: * * `<div nuiDraggable></div>` * * Don't forget to assign some payload (data for transmission from draggable to droppable). * It can be an `Object`, string or whatever can be converted to a string: * * `<div nuiDraggable [payload]="myData"></div>` * * To subscribe to an event `dragStart, dragEnd` just transmit an attribute * * `<div nuiDroppable (dragStart)="dragStart($event)"></div>` * * And `dragStart` method will look like that: * * `public dragStart(dropEvent: DragEvent) { * //dropEvent - HTML 5 drag event (native) * };` * * <example-url>./../examples/index.html#/dragdrop</example-url> * * @dynamic * @ignore */ export declare class DraggableDirective implements OnInit { private elRef; private zone; private utilService; private dragAndDropService; private document; private static draggableClass; private static draggingClass; private static dragSourceClass; private static adornerClass; private static adornerHaloClass; private static dragsourceOverlayClass; adornerDragClass: string; payload: any; dragStart: EventEmitter<any>; dragEnd: EventEmitter<any>; private adorner?; private dragsourceOverlay?; private moveDragAdorner; draggable: boolean; onDragStart(event: IDragEvent): void; onDragEnd(event: IDragEvent): void; constructor(elRef: ElementRef, zone: NgZone, utilService: UtilService, dragAndDropService: DragAndDropService, document: Document); ngOnInit(): void; private mouseHook; private createDragVisuals; private setImageAndData; private autoScroll; static ɵfac: i0.ɵɵFactoryDeclaration<DraggableDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DraggableDirective, "[nuiDraggable]", never, { "adornerDragClass": { "alias": "adornerDragClass"; "required": false; }; "payload": { "alias": "payload"; "required": false; }; }, { "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, false, never>; }