UNPKG

docking-egid

Version:

This library is built to provide a solution for Angular enables the creation of complex layouts consisting of panels that can be floated, docked, nested, resized, pinned, unpinned and closed. Additional components can be integrated to create an IDE-like l

102 lines (101 loc) 5.02 kB
import { IgcDragMoveEventArguments, IgcDragResizeEventArguments } from '../drag-drop/drag.service'; import { IgcContextMenuItem, IgcDockManagerComponentBase, IgcPinBehavior, IgcTabRectsInfo } from './dockmanager.interfaces'; import { IgcContentPane, IgcDockManagerPane, IgcDockManagerPoint, IgcDockingIndicator, IgcDockingIndicatorPosition, IgcDocumentHost, IgcResizerLocation, IgcSplitPane, IgcTabGroupPane, IgcUnpinnedLocation } from './dockmanager.public-interfaces'; /** * @hidden */ export declare class IgcDockManagerService { dockManager: IgcDockManagerComponentBase; private paneParentMap; private initialFloatingPaneLocation; private initialFloatingPaneWidth; private initialFloatingPaneHeight; private initialTabHeaderClickOffset; private initialDragClientPoint; private draggedPanes; private draggedTab; private shiftLeftThreshold; private shiftRightThreshold; private documentsCache; private contentPanesCache; visibleDocuments: IgcContentPane[]; visibleContentPanes: IgcContentPane[]; documentHosts: IgcDocumentHost[]; clientContentPanesMap: Map<string, IgcContentPane>; dropTargetParentRect: DOMRect; dockingIndicator: IgcDockingIndicator; forceDragPane: IgcSplitPane; forceDragTabHeader: IgcContentPane; unpinnedLocationMap: Map<IgcContentPane, IgcUnpinnedLocation>; constructor(dockManager: IgcDockManagerComponentBase); getContent(contentId: string): IgcDockManagerPane; private generateUuid; private populatePaneParents; private populatePinLocations; private resolvePaneUnpinLocation; private addContentPanePinLocation; private findClosestDocumentHost; private findPaneUnpinLocation; removePane(pane: IgcDockManagerPane): void; private removeFloatingPaneIfEmpty; isFloatingPane(pane: IgcSplitPane): boolean; private addFloatingPane; getChildContentPanes(pane: IgcSplitPane | IgcTabGroupPane): IgcContentPane[]; private getChildContentPanesRecursive; getChildDocHostRecursive(pane: IgcSplitPane): IgcDocumentHost; getVisibleContentPanes(parent: IgcTabGroupPane): IgcContentPane[]; private getPaneToDock; private removeDocumentHost; private dockToCenter; private dockToEdge; private updateLayout; processLayout(): void; getParent(pane: IgcDockManagerPane): IgcDockManagerPane; getRootParent(pane: IgcDockManagerPane): IgcSplitPane; getPanePath(pane: IgcDockManagerPane): IgcDockManagerPane[]; getDocHostParent(pane: IgcDockManagerPane): IgcDocumentHost; resizeFlyoutPane(delta: number): void; resizePane(pane: IgcDockManagerPane, deltaPercentage: number): void; togglePin(pane: IgcContentPane, pinBehavior?: IgcPinBehavior): void; closePane(pane: IgcContentPane): void; closeFloatingPane(pane: IgcSplitPane): void; private emitPaneClose; private removeAllowedPanes; flyoutPane(pane: IgcContentPane): void; maximizePane(pane: any): void; moveFloatingPane(pane: IgcSplitPane, location: IgcDockManagerPoint): void; resizeFloatingPaneStart(pane: IgcSplitPane, resizerLocation: IgcResizerLocation): boolean; resizeFloatingPane(pane: IgcSplitPane, args: IgcDragResizeEventArguments): void; resizeFloatingPaneEnd(pane: IgcSplitPane, resizerLocation: IgcResizerLocation): void; floatPane(pane: IgcContentPane, x: number, y: number, width: number, height: number): void; floatTab(pane: IgcContentPane, x: number, y: number, width: number, height: number): void; hasFloatingPaneHeader(pane: IgcSplitPane): boolean; rootDockPane(position: IgcDockingIndicatorPosition): void; dockPane(position: IgcDockingIndicatorPosition): void; getActualIsPinned(pane: IgcContentPane): boolean; getActualAllowClose(pane: IgcContentPane): boolean; isContentPaneVisible(pane: IgcContentPane): boolean; getSplitPaneVisibleChildren(pane: IgcSplitPane): IgcDockManagerPane[]; closeTabPane(pane: IgcContentPane): void; bringFloatingPaneOnTop(pane: IgcSplitPane): void; createContextMenuItems(pane: IgcContentPane): IgcContextMenuItem[]; dragPaneStart(pane: IgcSplitPane | IgcContentPane, rect: DOMRect, clientX: number, clientY: number): boolean; dragPaneMove(clientX: number, clientY: number): boolean; dragPaneEnd(): boolean; private dragOver; dragTabStart(pane: IgcContentPane): boolean; dragTabMove(pane: IgcContentPane, args: IgcDragMoveEventArguments, rects: IgcTabRectsInfo): boolean; private floatTabHeader; private resolveChildPanesAllowMaximize; normalizeMaximizedPane(pane: IgcContentPane): void; resolveAllowMaximize(pane: IgcDockManagerPane): boolean; getDropShadowRect(): DOMRect; getDropShadowRectRoot(): DOMRect; selectHiddenTab(tabGroup: IgcTabGroupPane, pane: IgcContentPane): void; shiftTabLeft(pane: IgcContentPane): void; shiftTabRight(pane: IgcContentPane): void; cacheDocumentsOrder(): void; cacheContentPanesOrder(): void; focusPrevContentPane(isInDocHost: boolean): void; focusNextContentPane(isInDocHost: boolean): void; }