import { QueryList, AfterContentInit, ElementRef, OnInit, OnDestroy, ChangeDetectorRef } from "@angular/core"; /** * 两栏分隔条组件 * @remarks * 用于分隔导航条面板以及主要区域面板,由PrimeNG的Splitter组件改写而来: * 1. 仅支持左右两列 * 2. 以像素为单位 * 2. 增加了类似VSCode的收起导航条的功能 * * 修改日志 * 2022/07/25:保证右侧区域的最小宽度,如果页面大小变化导致右侧区域达不到最小宽度,则缩小左侧区域 */ export declare class Splitter implements AfterContentInit, OnInit, OnDestroy { private cd; /** 分隔条宽度 */ gutterSize: number; /** 分隔条两侧面板的最小尺寸 */ minSizes: number[]; /** * 突破最小尺寸该距离时隐藏左侧面板 * @remarks 如果该距离小于等于0,则关闭此功能 */ hideCriticalDistance: number; /** 初始状态下分隔条的位置,即左侧面板的初始大小 */ initGutterPos: number; /** * 从隐藏导航栏的状态展开时导航栏的默认宽度 * @remarks 该宽度不可为空 */ defaultGutterPos: number; /** 左侧面板收折状态下的展开提示文本 */ expandBarLabel: string; /** 是否彻底隐藏左侧的导航面板 */ hideNavPanel: boolean; /** 两个面板的模板 */ templates: QueryList; containerViewChild: ElementRef; gutterViewChild: ElementRef; gutterPos: number; dragging: boolean; startPos: any; startGutterPos: any; mouseMoveListener: any; mouseUpListener: any; /** 面板模板集合 */ private panels; /** 左侧导航面板的模板 */ readonly navPanelTemplate: any; /** 右侧主要面板的模板 */ readonly mainPanelTemplate: any; readonly navPanelStyle: { width: string; }; readonly gutterStyle: { width: string; left: string; }; readonly mainPanelStyle: { marginLeft: string; }; readonly navPanelMinSize: number; readonly mainPanelMinSize: number; /** 左侧的面板是否处于收折状态 */ readonly collapse: boolean; constructor(cd: ChangeDetectorRef); /** 确保右侧区域达到了最小宽度 */ private ensureMainPanelSize; ngOnInit(): void; ngAfterContentInit(): void; ngOnDestroy(): void; /** * 切换左侧面板的収折状态 * @param collapse 是否收折 */ toggle(collapse?: boolean): void; /** 当左侧面板处于收折状态时,点击展开到默认位置 */ handleExpand(): void; onGutterMouseDown(event: MouseEvent): void; resizeStart(event: MouseEvent): void; bindMouseListeners(): void; onResize(event: MouseEvent): void; resizeEnd(): void; unbindMouseListeners(): void; clear(): void; } export declare class SplitterModule { }