choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
55 lines (54 loc) • 2.05 kB
TypeScript
import React, { Component, Key } from 'react';
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';
export interface LovViewProps {
dataSet: DataSet;
config: LovConfig;
context: FormContextValue;
tableProps?: Partial<TableProps>;
multiple: boolean;
values: any[];
viewMode?: string;
onSelect: (records: Record | Record[]) => void;
onBeforeSelect?: (records: Record | Record[]) => boolean | undefined;
modal?: modalChildrenProps;
popupHidden?: boolean;
valueField?: string;
textField?: string;
viewRenderer?: ViewRenderer;
showSelectedInView?: boolean;
selectionProps?: SelectionProps;
}
export default class LovView extends Component<LovViewProps> {
static get contextType(): React.Context<import("../../components/config-provider/ConfigContext").ConfigContextValue>;
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 | any): boolean;
handleKeyDown(e: any): void;
/**
* 单选 onRow 处理
* @param props
*/
handleRow(props: any): {
onDoubleClick: (event?: any) => boolean;
};
handleSingleRow(): {
onClick: (event?: any) => boolean;
};
handleColumnResize(props: onColumnResizeProps): void;
renderTable(): JSX.Element;
renderSelectionList(): JSX.Element | null;
render(): JSX.Element;
}