UNPKG

@ng-dnd/core

Version:

Drag and Drop for Angular

79 lines (78 loc) 4.4 kB
import { ElementRef, NgZone, OnChanges, OnDestroy } from '@angular/core'; import { Subscription } from 'rxjs'; import { DragSource, DropTarget } from './connection-types'; import { DragPreviewOptions, DragSourceOptions } from './connectors'; import { TypeOrTypeArray } from './type-ish'; import * as i0 from "@angular/core"; /** @ignore */ export declare class AbstractDndDirective implements OnChanges, OnDestroy { protected elRef: ElementRef; private ngZone; protected connection: any; private deferredRequest; /** @ignore */ constructor(elRef: ElementRef, ngZone: NgZone); ngOnChanges(): void; ngOnDestroy(): void; protected callHooks(_conn: any): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDndDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDndDirective, never, never, {}, {}, never, never, false, never>; } /** * Allows you to connect a {@link DropTarget} to an element in a component template. */ export declare class DropTargetDirective extends AbstractDndDirective implements OnChanges { protected connection: DropTarget | undefined; /** Which target to connect the DOM to */ dropTarget: DropTarget; /** * Shortcut for setting a type on the connection. * Lets you use Angular binding to do it. Runs {@link DropTarget#setTypes}. */ dropTargetTypes?: TypeOrTypeArray; /** Reduce typo confusion by allowing non-plural version of dropTargetTypes */ set dropTargetType(t: TypeOrTypeArray); ngOnChanges(): void; protected callHooks(conn: DropTarget): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration<DropTargetDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DropTargetDirective, "[dropTarget]", never, { "dropTarget": { "alias": "dropTarget"; "required": false; }; "dropTargetTypes": { "alias": "dropTargetTypes"; "required": false; }; "dropTargetType": { "alias": "dropTargetType"; "required": false; }; }, {}, never, never, true, never>; } /** Allows you to connect a {@link DragSource} to an element in a component template. */ export declare class DragSourceDirective extends AbstractDndDirective implements OnChanges { protected connection: DragSource<any> | undefined; /** Which source to connect the DOM to */ dragSource: DragSource<any>; /** * Shortcut for setting a type on the connection. * Lets you use Angular binding to do it. Runs {@link DragSource#setType}. */ dragSourceType?: string | symbol; /** Pass an options object as you would to {@link DragSource#connectDragSource}. */ dragSourceOptions?: DragSourceOptions; /** * Do not render an HTML5 preview. Only applies when using the HTML5 backend. * It does not use { captureDraggingState: true } for IE11 support; that is broken. */ noHTML5Preview: boolean; ngOnChanges(): void; protected callHooks(conn: DragSource<any>): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration<DragSourceDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DragSourceDirective, "[dragSource]", never, { "dragSource": { "alias": "dragSource"; "required": false; }; "dragSourceType": { "alias": "dragSourceType"; "required": false; }; "dragSourceOptions": { "alias": "dragSourceOptions"; "required": false; }; "noHTML5Preview": { "alias": "noHTML5Preview"; "required": false; }; }, {}, never, never, true, never>; } /** * Allows you to specify which element a {@link DragSource} should screenshot * as an HTML5 drag preview. * * Only relevant when using the HTML5 backend. */ export declare class DragPreviewDirective extends AbstractDndDirective implements OnChanges { protected connection: DragSource<any> | undefined; /** The drag source for which this element will be the preview. */ dragPreview: DragSource<any>; /** Pass an options object as you would to {@link DragSource#connectDragPreview}. */ dragPreviewOptions?: DragPreviewOptions; ngOnChanges(): void; protected callHooks(conn: DragSource<any>): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration<DragPreviewDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DragPreviewDirective, "[dragPreview]", never, { "dragPreview": { "alias": "dragPreview"; "required": false; }; "dragPreviewOptions": { "alias": "dragPreviewOptions"; "required": false; }; }, {}, never, never, true, never>; }