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; dropTargetParentRect: DOMRect; dockingIndicator: IgcDockingIndicator; forceDragPane: IgcSplitPane; forceDragTabHeader: IgcContentPane; unpinnedLocationMap: Map; 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; }