import { BuilderHTMLElement } from '@farris/designer-element';
import { ElementPropertyConfig } from '@farris/ide-property-panel';
import FdContainerBaseComponent from '../../common/containerBase/containerBase';
/**
* 动态区域,可以添加预制模板
*/
export default class FdDynamicAreaComponent extends FdContainerBaseComponent {
readonly tabPageLinkKey: string;
readonly tabPageRemoveLinkKey: string;
readonly addIconLinkKey: string;
readonly tabPageBodyKey: string;
/** 当前选中标签页id */
selectedTabPageId: string;
/** 标签页项的组件实例 */
tabPageComponents: any[];
constructor(component: any, options: any);
getDefaultSchema(): any;
getTemplateName(): string;
/**
* 判断是否可以接收拖拽新增的子级控件
*/
canAccepts(sourceElement: BuilderHTMLElement): boolean;
/**
* 组装属性面板配置数据
*/
getPropertyConfig(): ElementPropertyConfig[];
init(): void;
render(): any;
attach(element: any): any;
/**
* 切换标签页
* @param index 标签页索引
*/
private setTabPage;
/**
* 删除面板项
* @param index 待删除面板索引
*/
private removeDynamicItem;
/**
* 面板中包含Component组件,需要移除相关的Component和ViewModel
* @param rawDynamicItem 待移除的面板
*/
private checkComponentInDynamicItem;
/**
* 根据指定的条件遍历查找节点
* @param rootNode 容器节点
* @param predict 条件
*/
selectComponentRefNode(rootNode: any, componentRefs: any[]): void;
/**
* 新增面板项
*/
private addDynamicItem;
/**
* 创建新面板
* @param data 面板构造信息
*/
private addNodesToForm;
}