choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
45 lines (44 loc) • 1.66 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 { LovConfig } from './Lov';
import { ColumnProps } from '../table/Column';
import { modalChildrenProps } from '../modal/interface';
export interface LovViewProps {
dataSet: DataSet;
config: LovConfig;
tableProps?: Partial<TableProps>;
multiple: boolean;
values: any[];
popup?: boolean;
onSelect: (records: Record | Record[]) => void;
onBeforeSelect?: (records: Record | Record[]) => boolean | undefined;
modal?: modalChildrenProps;
popupHidden?: boolean;
}
export default class LovView extends Component<LovViewProps> {
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;
render(): JSX.Element;
}