UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

120 lines (119 loc) 4.02 kB
import { Subject, Subscription } from 'rxjs'; import { EventEmitter, PreserveNextEventEmitter } from './preserve-next-event-emitter'; import { DragDropService } from './drag-drop.service'; import { DirectiveBinding, InjectionKey, VNode } from 'vue'; import { NgDirectiveBase } from './directive-base'; import { DragPreviewDirective } from './drag-preview.directive'; export interface IDraggableBinding { dragData?: any; dragHandle?: string; dragEffect?: string; dragScope?: string | Array<string>; dragHandleClass?: string; dragOverClass?: string; disabled?: boolean; enableDragFollow?: boolean; dragFollowOptions?: { appendToBody?: boolean; }; originPlaceholder?: { show?: boolean; tag?: string; style?: { [cssProperties: string]: string; }; text?: string; removeDelay?: number; }; dragIdentity?: any; dragItemParentName?: string; dragItemChildrenName?: string; } export interface IDraggableListener { '@dragStartEvent'?: (_: any) => void; '@dragEvent'?: (_: any) => void; '@dragEndEvent'?: (_: any) => void; '@dropEndEvent'?: (_: any) => void; } export declare class DraggableDirective extends NgDirectiveBase<IDraggableBinding, IDraggableListener> { static INSTANCE_KEY: string; static TOKEN: InjectionKey<DraggableDirective>; hostBindingMap?: { [key: string]: string; } | undefined; draggable: boolean; dragData?: any; dragScope: string | Array<string>; dragHandle?: string; dragHandleClass: string; dragOverClass?: string; dragEffect: string; get disabled(): boolean; set disabled(value: boolean); private _disabled; dragStartEvent: EventEmitter<any>; dragEvent: PreserveNextEventEmitter<any>; dragEndEvent: EventEmitter<any>; dropEndEvent: PreserveNextEventEmitter<any>; document: Document; private mouseOverElement; 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: undefined | any; private dragOriginPlaceholder?; private dragOriginPlaceholderNextSibling?; dragElShowHideEvent: Subject<boolean>; beforeDragStartEvent: Subject<boolean>; el: { nativeElement: any; }; dragDropService: DragDropService; dragPreviewDirective?: DragPreviewDirective; constructor(el: HTMLElement, dragDropService: DragDropService, dragPreviewDirective?: DragPreviewDirective); ngOnInit(): void; dropSubscription(): void; ngAfterViewInit(): void; ngOnDestroy(): void; dragStart(e: DragEvent): void; dragEnd(e: DragEvent): void; mouseover(e: MouseEvent): 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: Element): Element; private checkAndGetViewPointChange; } declare const _default: { mounted(el: HTMLElement & { [props: string]: any; }, binding: DirectiveBinding<IDraggableBinding & IDraggableListener>, vNode: VNode): void; updated(el: HTMLElement & { [props: string]: any; }, binding: DirectiveBinding<IDraggableBinding & IDraggableListener>): void; beforeUnmount(el: HTMLElement & { [props: string]: any; }): void; }; export default _default;