UNPKG

@bimeister/pupakit.tree

Version:
35 lines (34 loc) 1.7 kB
import { ElementRef, Renderer2 } from '@angular/core'; import { Nullable } from '@bimeister/utilities'; import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { DropEventInterface } from '../interfaces/drop-event.interface'; import { FlatTreeItem } from './flat-tree-item.class'; import * as i0 from "@angular/core"; export declare class TreeDragAndDropControl { readonly draggingHasStarted$: BehaviorSubject<boolean>; readonly droppedSubject$: Subject<DropEventInterface<FlatTreeItem>>; readonly draggableNode$: BehaviorSubject<Nullable<FlatTreeItem>>; readonly scrollDirection$: BehaviorSubject<Nullable<'up' | 'down'>>; readonly expandNodeWithDelay$: Subject<FlatTreeItem | null>; private readonly hasDragAndDrop$; private dropNode; private mouseDownPosition; private draggableElementBoundingBox; private draggableExpandableDescendants; private renderer; private host; setHostAndRenderer(host: ElementRef<HTMLElement>, renderer: Renderer2): void; setHasDragAndDrop(hasDragAndDrop: boolean): void; mouseDown(treeNode: FlatTreeItem, event: MouseEvent): void; mouseMove({ screenX, screenY }: MouseEvent, draggableElement: ElementRef<HTMLElement>, data$: Observable<FlatTreeItem[]>): void; mouseUp(): void; mouseEnter(node: FlatTreeItem): void; canDrop(node: FlatTreeItem): boolean; mouseLeave(): void; private startDragging; private setupWidthForDraggableElement; private setupDraggableExpandableDescendants; private updateDraggablePosition; static ɵfac: i0.ɵɵFactoryDeclaration<TreeDragAndDropControl, never>; static ɵprov: i0.ɵɵInjectableDeclaration<TreeDragAndDropControl>; }