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; }