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