choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
63 lines (62 loc) • 2.19 kB
TypeScript
import { Component, ReactElement } from 'react';
import { IReactionDisposer } from 'mobx';
import { ColumnProps } from './Column';
import { ElementProps } from '../core/ViewComponent';
import { FormField, FormFieldProps } from '../field/FormField';
import TableContext, { TableContextValue } from './TableContext';
import { ColumnLock } from './enum';
export interface TableEditorProps extends ElementProps {
column: ColumnProps;
}
export default class TableEditor extends Component<TableEditorProps> {
static displayName: string;
static get contextType(): typeof TableContext;
context: TableContextValue;
editorProps?: any;
width?: any;
height?: number;
rendered?: boolean;
inTab: boolean;
keep?: boolean;
editor: FormField<FormFieldProps> | null;
wrap: HTMLDivElement | null;
originalCssText: string | undefined;
reaction: IReactionDisposer | undefined;
cellNode: HTMLSpanElement | undefined;
tdNode: HTMLTableDataCellElement | null | undefined;
get lock(): ColumnLock | boolean | undefined;
handleWindowResize(): void;
/**
* 触发多行编辑器失焦切换编辑/只读模式
* @param e
*/
handleWindowClick(e: any): void;
connect(): void;
disconnect(): void;
componentDidMount(): void;
componentWillUnmount(): void;
saveRef(node: any): void;
saveWrap(node: any): void;
handleEditorKeyEnterDown(e: any): void;
handleKeyDownCTRLD(e: any): void;
handleKeyDownCTRLS(e: any): void;
handleEditorKeyDown(e: any): void;
handleEditorBlur(e: any): void;
/**
* 多行编辑切换编辑器阻止冒泡
* @param e
*/
handleEditorClick(e: any): void;
handleEditorResize(width: any, height: any, target: any): void;
blur(): void;
focus(): void;
alignEditor(cellNode?: HTMLSpanElement | undefined, height?: number): void;
hideEditor(keep?: boolean): void;
showNextEditor(reserve: boolean): void;
/**
* 渲染多行编辑单元格
*/
renderMultiLineEditor(): ReactElement<FormFieldProps> | undefined;
renderEditor(): ReactElement<FormFieldProps> | undefined;
render(): JSX.Element | null;
}