import { BuilderHTMLElement, BuilderOptions } from '@farris/designer-element';
import { ElementPropertyConfig } from '@farris/ide-property-panel';
import { FormPropertyChangeObject } from '../../../../entity/property-change-entity';
import FdCollectionBaseComponent from '../../common/collection-base/fd-collection-base';
export default class FdTableComponent extends FdCollectionBaseComponent {
/** 单元格实例 */
private tdComponents;
/** 单元格模板 */
private tdComponentElements;
readonly tdLinkKey: string;
readonly tdWidgetLinkKey: string;
private tdManager;
constructor(component: any, options: BuilderOptions);
getDefaultSchema(): any;
getTemplateName(): string;
/** padding是为了解决table不显示边框的问题 */
getStyles(): string;
getClassName(): string;
/**
* 判断是否可以接收拖拽新增的子级控件
*/
canAccepts(el: BuilderHTMLElement): boolean;
/**
* 去掉间距和线条
*/
hideNestedPaddingInDesginerView(): boolean;
getInnerComponentInstance(): any[];
init(): void;
render(): any;
attach(element: HTMLElement): Promise;
/**
* 点击单元格
* @param tdEle 单元格DOM元素
* @param event 事件
*/
triggerTdClick(tdEle: HTMLElement, event?: MouseEvent): void;
/**
* 简单类表格在点击单元格时,要同时选中标签类单元格和编辑器类单元格,视觉上认为标签和编辑器是一个单元格
* @param tdEle 用户点击的单元格DOM元素
* @param event 事件
*/
triggerMegedTdClick(tdEle: HTMLElement, event?: MouseEvent): void;
/**
* 清除页面上之前的选中状态
*/
clearSelected(): void;
/**
* 单元格选中状态下增加边框宽度,宽度需要比table配置的边框宽度大1px,否则页面无法显示蓝色边框
* @param td 单元格元素
*/
addSelectedBorderToSimpleTableTd(td: HTMLElement): void;
/**
* 单元格选中状态下增加边框宽度,用于模板form.ts中使用
* @param column 单元格schema
*/
getSelectedBorderStyle(column: any): string;
/**
* 获取单元格DOM元素
* @param targetTdId 单元格id
*/
getTdElement(targetTdId: string): any;
/**
* 获取同组的单元格DOM元素
* @param targetTdId 单元格id
*/
getTdElementsInSameGroup(targetGroupId: string): {
tdElements: BuilderHTMLElement[];
activeEditorTdElement: HTMLElement;
labelTdElement: HTMLElement;
};
/**
* 组装属性面板配置数据
*/
getPropertyConfig(): ElementPropertyConfig[];
/**
* 属性变更后
* @param changeObject 变更集
*/
onPropertyChanged(changeObject: FormPropertyChangeObject): void;
/**
* 获取选中单元格的行、列信息
* @param targetTdId 单元格id
*/
private getTargetColumnData;
/**
* 显示菜单
* @param event 点击事件
* @param widgetEle 图标元素
*/
private showTdManageContext;
/**
* 简单类表格的单元格是否可以拖拽,是否可以接收拖拽内容
* @param column 单元格元数据
* @param tdElement 单元格元素
*/
private checkTdCanDragAndDrop;
isEmptyValue(value: any): boolean;
/**
* 适配表单控件的元数据变更
*/
private adaptOldControlSchema;
/**
* 注册label标签的编辑事件
*/
private registerStaticTdContentEditable;
/**
* 修改控件标签后,同步schema字段
*/
private syncSchemaFieldAfterControlTitleChanged;
}