UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

57 lines (56 loc) 2.22 kB
import React, { Component, Key } from 'react'; import ConfigContext from '../../../lib/config-provider/ConfigContext'; import DataSet from '../data-set/DataSet'; import Record from '../data-set/Record'; import { onColumnResizeProps, TableProps } from '../table/Table'; import { SelectionMode } from '../table/enum'; import { DataSetSelection } from '../data-set/enum'; import { ColumnProps } from '../table/Column'; import { ModalChildrenProps } from '../modal/interface'; import { LovConfig, ViewRenderer, SelectionProps } from './Lov'; import { FormContextValue } from '../form/FormContext'; import { TriggerViewMode } from '../trigger-field/TriggerField'; export interface LovViewProps { dataSet: DataSet; config: LovConfig; context: FormContextValue; tableProps?: Partial<TableProps>; multiple: boolean; values: any[]; viewMode?: TriggerViewMode; onSelect: (records: Record | Record[]) => void; onBeforeSelect?: (records: Record | Record[]) => boolean | undefined; modal?: ModalChildrenProps; popupHidden?: boolean; valueField?: string; textField?: string; viewRenderer?: ViewRenderer; showSelectedInView?: boolean; getSelectionProps?: () => SelectionProps; } export default class LovView extends Component<LovViewProps> { static get contextType(): typeof ConfigContext; selection: DataSetSelection | false; selectionMode: SelectionMode | undefined; resizedColumns: Map<Key, number>; componentWillMount(): void; componentWillUnmount(): void; shouldComponentUpdate(nextProps: Readonly<LovViewProps>): boolean; getColumns(): ColumnProps[] | undefined; handleSelect(event?: React.MouseEvent): boolean; handleKeyDown(e: any): void; /** * 单选 onRow 处理 * @param props */ handleRow(props: any): { onDoubleClick: (event?: React.MouseEvent<Element, MouseEvent> | undefined) => boolean; }; handleSingleRow(): { onClick: (event?: React.MouseEvent<Element, MouseEvent> | undefined) => boolean; }; handleColumnResize(props: onColumnResizeProps): void; renderTable(): JSX.Element; renderSelectionList(): JSX.Element | null; render(): JSX.Element; }