import { BuilderHTMLElement, FarrisDesignBaseComponent } from '@farris/designer-element';
import { ElementPropertyConfig } from '@farris/ide-property-panel';
import { RowNode } from '@farris/ui-treetable';
import { FormPropertyChangeObject } from '../../../../entity/property-change-entity';
import FdContainerBaseComponent from '../../common/containerBase/containerBase';
import FdSectionToolBarComponent from './fd-section-toolbar';
export default class FdSectionComponent extends FdContainerBaseComponent {
expandStatus: boolean;
activeTypeItem: any;
private formParent;
private multiViewContainerEl;
toolBarComponent: FdSectionToolBarComponent;
readonly viewChangeKey: string;
readonly collapseKey: string;
/** 判断当前section是否是模板中预置的层级,这种section不支持移动、不支持删除 */
private isInFixedContextRules;
private dragManager;
/** 当前是否选中工具栏 */
isToolbarSelected: boolean;
constructor(component: any, options: any);
/**
* 从工具箱拖拽生成的不是Section,而是Container-Section两层结构
*/
static getMetadataInControlBox(targetComponentInstance: FarrisDesignBaseComponent, controlFeatrue: string): any;
getDefaultSchema(): any;
getTemplateName(): string;
getStyles(): string;
/**
* 为适配多视图的切换,在Component中增加viewChagne属性
*/
getComponentAttributes(): {
viewchange: any;
};
init(): void;
/**
* viewChange赋值
*/
private getActiveTypeItem;
render(children: any): any;
attach(element: any): any;
/**
* 由于section的工具栏被添加到了子组件中,所以在模板渲染的时候需要将其排除掉
*/
getComponents(): any[];
/**
* 组装属性面板配置数据
* @returns ElementPropertyConfig[]
*/
getPropertyConfig(): ElementPropertyConfig[];
/**
* 零代码切换设计器时组件的层级问题修复
*/
private adaptOldControlSchema;
/**
* 属性变更后事件
* @param changeObject 变更集
* @param propertyIDs 需要额外监听的属性ID列表
*/
onPropertyChanged(changeObject: FormPropertyChangeObject, propertyIDs: string[]): void;
/**
* 组装右键菜单
* @param rowNode 组件在控件树上对应的行数据
*/
resolveContextMenuConfig(rowNode: RowNode): any;
/**
* 查找multiViewContainerEl
*/
private findMultiViewContainerEl;
/**
* 获取view chagne的字符串
*/
getViewChangeStr(): string;
/**
* 判断在可视化区域中是否隐藏容器间距和线条
*/
hideNestedPaddingInDesginerView(): boolean;
checkCanMoveComponent(): boolean;
checkCanDeleteComponent(): boolean;
canAccepts(sourceElement: BuilderHTMLElement, targetElement: BuilderHTMLElement): boolean;
/**
* 初始化工具栏
*/
private initToolbar;
/**
* 新增工具栏后,需要将状态机信息增加到Section所属的视图模型中,不然运行时状态机不起作用
*/
private addStateMachineToViewModel;
/**
* Section下若存放form控件,则增加一个字段维护的图标
*/
private addFieldManagerIcon;
/**
* 弹出字段维护窗口
*/
private showFieldManager;
onRemoveComponent(): {
parentComponentInstance: any;
};
private checkIsSectionelected;
/**
* 删除Section时,连带删除父层容器
*/
private deleteFixedSectionInContextRules;
checkAddPlaceholder(): boolean;
}