@ng-dnd/core
Version:
Drag and Drop for Angular
78 lines (77 loc) • 4.36 kB
TypeScript
import { ElementRef, OnChanges, OnDestroy } from '@angular/core';
import { Identifier } from 'dnd-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 connection: any;
private deferredRequest;
protected elRef: ElementRef<any>;
private 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, true, 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?: Identifier;
/** 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>;
}