import FdContainerBaseComponent from '../../common/containerBase/containerBase'; import { ElementPropertyConfig } from '@farris/ide-property-panel'; import { FormPropertyChangeObject } from '../../../../entity/property-change-entity'; import { RowNode, TreeNode } from '@farris/ui-treetable'; export default class FdMultiViewContainerComponent extends FdContainerBaseComponent { viewContainerItems: any[]; currentItemType: any; readonly viewItemKey: string; /** 可视化区域顶层Form节点 */ private formParent; constructor(component: any, options: any); getStyles(): string; /** * 为了保证控件只能拖拽到MultiViewItem中,去除多视图容器的padding配置 */ getDefaultSchema(): any; getComponentAttributes(): { viewchange: any; }; getTemplateName(): string; init(): void; render(): any; attach(element: any): any; /** * 组装属性面板配置数据 */ getPropertyConfig(): ElementPropertyConfig[]; onPropertyChanged(changeObject: FormPropertyChangeObject, propertyIDs: string[]): void; /** * 视图变更后,更新对应的viewChange图标按钮组件 * @param latestViews 变更后的视图组 * (页头有header容器和header组件两种可能) */ private updateViewChangeButtons; /** * 更新当前显示视图 */ updateCurrentViewItem(selectedViewItemId: string): void; /** * 组装右键菜单 * @param rowNode 组件在控件树上对应的行数据 */ resolveContextMenuConfig(rowNode: RowNode, parentRowNode: RowNode): any; /** * 由外部触发组件内部的点击事件:用于在控件树中点击视图项时切换画布中的视图 * @param treeNode 树节点 */ triggerComponentInsideClick(treeNode: TreeNode): void; /** * 在控件树上点击某一视图项时,触发视图切换按钮的切换事件,从而达到更新当前显示视图的目的 * @param rowNode 控件树上点击的某视图项行数据 */ clickViewItemInControlTree(viewItemTreeNode: TreeNode): void; /** * 触发header上的viewChange click事件(此处有两种场景:ViewChange是独立的组件,或者ViewChange依附于Header组件。暂时只支持第一种) * @param activeItemId 当前要显示的视图id */ private clickViewChangeBarInHeader; /** * 触发Section和TabPage上的viewChange click 事件 * @param parentContainer 视图的父容器ID * @param activeItemId 当前要显示的视图id */ private clickViewChangeBarInCollection; /** * 查找form父元素 */ private findFormParent; checkCanDeleteComponent(): boolean; checkCanMoveComponent(): boolean; }