UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

84 lines (83 loc) 3.63 kB
import { ElementRef, EventEmitter, QueryList } from '@angular/core'; import { ResizeCursor } from './util'; import * as i0 from "@angular/core"; export type DragRange = number | string; export interface MutableOptions { directions?: [boolean, boolean, boolean, boolean]; resizeThreshold?: number; cursors?: { move: string; }; dragRange?: [DragRange, DragRange, DragRange, DragRange]; } export declare const MUTABLE_BASIC_OPTIONS: MutableOptions; export interface Point { x: number; y: number; } export declare class DragHandleDirective { static ɵfac: i0.ɵɵFactoryDeclaration<DragHandleDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DragHandleDirective, "[aclDragHandle]", never, {}, {}, never, never, false, never>; } export declare class MutableDirective { private readonly el; private computedOptions; /** Allow for stretch shrink, the default is open */ aclResizable: boolean; /** Allow for drag and drop, the default is open */ aclDraggable: boolean; /** Define drag boundary, as body */ aclDragBoundary: string | ElementRef<HTMLElement> | HTMLElement; set aclMutableOptions(options: MutableOptions); /** In the process of the resize triggering events */ readonly aclOnResize: EventEmitter<HTMLElement>; /** Drag in the process of the triggering event */ readonly aclOnDrag: EventEmitter<HTMLElement>; /** Emits when the user start drag. */ readonly aclDragStarted: EventEmitter<HTMLElement>; readonly aclDragEnded: EventEmitter<HTMLElement>; /** Emits when the user start resize */ readonly aclResizeStarted: EventEmitter<HTMLElement>; readonly aclResizeEnded: EventEmitter<HTMLElement>; handles: QueryList<ElementRef>; isDragging: boolean; isResizingX: boolean; isResizingY: boolean; mousePoint: { x: number; y: number; }; parentBorder: { left: number; top: number; }; elementBorder: { left: number; top: number; right: number; bottom: number; }; element: HTMLElement; private readonly _initCursor; resizeCursor: ResizeCursor; resizeInitXRight: number; resizeInitYBottom: number; onMouseDown(event: MouseEvent): void; onMouseMove(event: MouseEvent): void; onMouseUp(): void; constructor(el: ElementRef<HTMLElement>); /** Gets the boundary element, based on the `boundaryElement` value. */ private getBoundaryElement; private ensureInParent; dragElement(event: MouseEvent): void; initDragging(event: MouseEvent): void; setDragging(cursor: string, event: MouseEvent): void; resizeElementX(event: MouseEvent): void; resizeElementY(event: MouseEvent): void; initResizing(event: MouseEvent): void; setResizing(cursor: string, event: MouseEvent): void; getMutableCursor(event: MouseEvent): string; private isResizeOutOfBoundary; static ɵfac: i0.ɵɵFactoryDeclaration<MutableDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<MutableDirective, "[aclMutable]", never, { "aclResizable": { "alias": "aclResizable"; "required": false; }; "aclDraggable": { "alias": "aclDraggable"; "required": false; }; "aclDragBoundary": { "alias": "aclDragBoundary"; "required": false; }; "aclMutableOptions": { "alias": "aclMutableOptions"; "required": false; }; }, { "aclOnResize": "aclOnResize"; "aclOnDrag": "aclOnDrag"; "aclDragStarted": "aclDragStarted"; "aclDragEnded": "aclDragEnded"; "aclResizeStarted": "aclResizeStarted"; "aclResizeEnded": "aclResizeEnded"; }, ["handles"], never, false, never>; }