UNPKG

@eclipse-scout/core

Version:
83 lines 3.33 kB
/// <reference types="jquery" /> import { EnumObject, InitModelOf, Insets, ObjectWithType, Rectangle, ResizableModel, SomeRequired } from '../index'; import MouseDownEvent = JQuery.MouseDownEvent; import MouseUpEvent = JQuery.MouseUpEvent; import MouseMoveEvent = JQuery.MouseMoveEvent; /** * Resizable makes a DOM element resizable by adding resize handlers to all edges of the given model.$container. * The following events are triggered on the DOM element: * - resizeStep: triggered during resizing. * - resizeEnd: triggered when resizing ends. */ export declare class Resizable implements ResizableModel, ObjectWithType { model: ResizableModel; initModel: SomeRequired<this['model'], '$container'>; objectType: string; modes: ResizableMode[]; boundaries: Insets; useOverlay: boolean; $container: JQuery; $window: JQuery<Window>; $resizableS: JQuery; $resizableE: JQuery; $resizableSE: JQuery; $resizableW: JQuery; $resizableSW: JQuery; $resizableN: JQuery; $resizableNW: JQuery; $resizableNE: JQuery; $resizingOverlay: JQuery; protected _context: ResizableContext; protected _mouseDownHandler: (event: MouseDownEvent) => void; protected _mouseUpHandler: (event: MouseUpEvent) => void; protected _mouseMoveHandler: (event: MouseMoveEvent) => void; protected _keyDownHandler: (event: KeyboardEvent) => void; protected _resizeHandler: (newBounds: Rectangle) => void; constructor(); static MODES: { readonly SOUTH: "s"; readonly EAST: "e"; readonly WEST: "w"; readonly NORTH: "n"; }; init(model: InitModelOf<Resizable>): void; setModes(modes?: ResizableMode[]): void; setBoundaries(boundaries?: Insets): void; protected _appendResizeHandles(): void; protected _appendResizeHandle(edge: ResizableEdge): JQuery; protected _calculateResizeHandlersVisibility(): void; protected _hasMode(mode: ResizableMode): boolean; protected _installRemoveHandler(): void; destroy(): void; protected _onMouseDown(event: MouseDownEvent): void; protected _onMouseUp(event: MouseUpEvent): void; /** * Finishes the resizing by cleaning up all temporary states and triggering the `resizeEnd` event with the initial and new bounds. */ finish(): void; /** * Cancels the resizing if it is in progress. */ cancel(): void; protected _onKeyDown(event: KeyboardEvent): void; protected _cleanup(): void; protected _onMouseMove(event: MouseMoveEvent): void; protected _computeBounds(event: MouseMoveEvent): Rectangle; protected _resize(newBounds: Rectangle): void; protected _resizeEnd(): void; protected _cropToBoundaries(newBounds: Rectangle): void; protected _boundaryValueSet(value: number): boolean; protected _calcDistance(eventA: MouseDownEvent, eventB: MouseMoveEvent): number[]; } export interface ResizableContext { initialBounds: Rectangle; currentBounds: Rectangle; minBounds: Rectangle; maxBounds: Rectangle; distance: number[]; edge: ResizableEdge; mousedownEvent: MouseDownEvent; } export type ResizableMode = EnumObject<typeof Resizable.MODES>; export type ResizableEdge = 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw'; //# sourceMappingURL=Resizable.d.ts.map