import { RowNode } from '@farris/ui-treetable'; import { ContextMenuManager } from '../../../../service/context-menu.manager'; import { ControlContextMenuItem } from '../../../../entity/control-context-menu'; import { FarrisDesignBaseComponent } from '@farris/designer-element'; /** 添加从表区域命令 */ export declare const CREATE_DETAIL_CONTAINER_COMMAND = "createDetailContainer"; /** 添加从从表区域命令 */ export declare const CREATE_GRAND_CONTAINER_COMMAND = "createGrandContainer"; /** 修改面板分配比例命令 */ export declare const SPLITTER_PANE_PROPORTION = "paneProportion"; /** 修改面板布局方向命令 */ export declare const SPLITTER_PANE_DIRECTION = "paneDirection"; export declare const SPLITTER_PANE_DIRECTION_HORIZONTAL = "horizontal"; export declare const SPLITTER_PANE_DIRECTION_VERTICAL = "vertical"; export declare class SplitterContextMenuManager extends ContextMenuManager { private parentRowNode; constructor(cmp: FarrisDesignBaseComponent, rowNode: RowNode, parentRowNode: RowNode); /** * 过滤、修改控件树右键菜单 */ setContextMenuConfig(): ControlContextMenuItem[]; /** * 点击控件树右键菜单 */ contextMenuClicked(e: { data: RowNode; menu: ControlContextMenuItem; }): void; /** * 限制分配比例菜单的使用范围 * @param splitterId 当前分隔组件id * @param menuConfig 菜单配置 */ private assemblePaneProportionMenu; /** * 根据点击的菜单修改左右两侧面板的分配比例 * @param splitterId 当前分隔组件id * @param command 比例菜单的command id */ private setPaneProportion; /** * 限制布局方向菜单的使用范围 * @param splitterId 当前分隔组件id * @param menuConfig 菜单配置 */ private assemblePaneDirectionMenu; /** * 根据点击的菜单修改两侧面板的布局方向 * @param splitterId 当前分隔组件id * @param command 比例菜单的command id */ private setPaneDirection; /** * 校验当前是否包含从表/从从表区域,从而控制右键菜单的显示项 * @param containerId 右键的节点id * @param menuConfig 菜单配置 */ private assembleCreateChildContainerMenu; /** * 创建从表区域 */ private createDetailContainer; /** * 创建从从表区域 */ private createGrandContainer; /** * 组装子表填充菜单 * @param containerId 右侧区域SplitterPane 的id * @param menuConfig 菜单 */ private assembleChildFillMenu; /** * 启用子表填充 */ private enableChildContainerFill; /** * 关闭子表填充 */ private closeChildContainerFill; }