import { Injector } from '@angular/core'; import { FarrisDesignBaseComponent } from '@farris/designer-element'; import { RefreshFormService } from '@farris/designer-services'; import { ControlContextMenuItem } from '../../../../../entity/control-context-menu'; /** * Form组件切换为table组件 */ export declare class TableComponentCreatorContextMenuService { private injector; private domService; private messagerService; refreshFormService: RefreshFormService; private controlService; private cmpInstance; constructor(injector: Injector, cmpInstance: FarrisDesignBaseComponent); /** * 组装form切换为table的菜单 * @param menuConfig 菜单配置 */ assembleChangeFormToTableMenu(menuConfig: ControlContextMenuItem[]): ControlContextMenuItem[]; /** * 校验当前组件是否支持由Form类型切换为Table类型 */ checkCanChangeToTableComponent(): boolean; changeFormComponentToTableComponent(): void; /** * 由Form切换为table */ confirmChangeFormComponentToTableComponent(): void; /** * 卡片区域内的控件若有分组FieldSet,需要根据分组划分前后区域,分组的起点控件需要在table内单独起一行 */ private splitControlsByFieldSet; /** * 组装表格 * @param controlList 控件列表 * @param devMode 展示模式 */ resoloveTableRows(controlList: any[], devMode: string): any[]; /** * 计算table行数。 * 规则:一行两个字段;若控件class='col-12',则占通栏,其余都是默认一个单元格, * @param controlList 输入控件列表 */ private getTableRowCounts; /** * 检查单元格是否为通栏 * @param control 控件 */ private checkIfCrossColumn; /** * 创建标签类单元格 * @param cardControl 卡片组件内的控件结构 */ private createLabelTd; /** * 创建编辑器类单元格 * @param field schema字段 */ private createEditorTd; /** * 创建隐藏单元格,用于创建通栏的控件中,右侧隐藏的3个单元格 */ createInvisibleTd(devMode: string, groupId: string): any[]; }