UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

98 lines (97 loc) 3.61 kB
import { Subscription, Subject } from 'rxjs'; import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { DragDropService } from '../services/drag-drop.service'; import { PreserveNextEventEmitter } from './../shared/preserve-next-event-emitter'; import { DragPreviewDirective } from './drag-preview.directive'; export declare class DraggableDirective implements OnInit, AfterViewInit, OnDestroy { el: ElementRef; private renderer; private dragDropService; private ngZone; dragPreviewDirective: DragPreviewDirective; draggable: boolean; /** * The data that will be available to the droppable directive on its `onDrop()` event. */ dragData: any; /** * The selector that defines the drag Handle. If defined drag will only be allowed if dragged from the selector element. */ dragHandle: string; /** * Currently not used */ dragEffect: string; /** * Defines compatible drag drop pairs. Values must match both in draggable and droppable.dropScope. */ dragScope: string | Array<string>; dragHandleClass: string; /** * CSS class applied on the draggable that is applied when the item is being dragged. */ dragOverClass: string; /** * Event fired when Drag is started */ dragStartEvent: EventEmitter<any>; /** * @deprecated * Event fired while the element is being dragged * 为了性能优化,该函数废弃,请用(drag)自行监听, 如果不需要angular脏检测则最好用runOutsideAngular的addEventListener监听以获得好的性能 */ dragEvent: PreserveNextEventEmitter<any>; /** * Event fired when dragged ends */ dragEndEvent: EventEmitter<any>; /** * Keeps track of mouse over element that is used to determine drag handles */ private mouseOverElement; dropEndEvent: PreserveNextEventEmitter<any>; disabled: boolean; private _disabled; enableDragFollow: boolean; dragFollowOptions: { appendToBody?: boolean; }; originPlaceholder: { show?: boolean; tag?: string; style?: { [cssProperties: string]: string; }; text?: string; removeDelay?: number; }; dragIdentity: any; dragItemParentName: string; dragItemChildrenName: string; dragsSub: Subscription; destroyDragEndSub: Subscription; isDestroyed: boolean; private delayRemoveOriginPlaceholderTimer; batchDraggable: any; private dragOriginPlaceholder; private dragOriginPlaceholderNextSibling; dragElShowHideEvent: Subject<boolean>; beforeDragStartEvent: Subject<boolean>; constructor(el: ElementRef, renderer: Renderer2, dragDropService: DragDropService, ngZone: NgZone, dragPreviewDirective: DragPreviewDirective); ngOnInit(): void; dropSubscription(): void; ngAfterViewInit(): void; ngOnDestroy(): void; dragStart(e: any): void; dragEnd(e: any): void; mouseover(e: any): void; private allowDrag; private applyDragHandleClass; private getDragHandleElement; private mousePosition; insertOriginPlaceholder: (directShow?: boolean, updateService?: boolean) => void; removeOriginPlaceholder: (updateService?: boolean) => void; delayRemoveOriginPlaceholder: (updateService?: boolean) => void; findNextSibling(currentNextSibling: any): any; private checkAndGetViewPointChange; }