choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
55 lines (54 loc) • 2.31 kB
TypeScript
import React, { Component, ReactElement, ReactNode } from 'react';
import DataSet from '../../data-set';
import TableContext from '../TableContext';
import { ElementProps } from '../../core/ViewComponent';
import { ButtonProps } from '../../button/Button';
import { FormProps } from '../../form/Form';
export interface TableProfessionalBarProps extends ElementProps {
dataSet: DataSet;
queryDataSet?: DataSet;
queryFields: ReactElement<any>[];
queryFieldsLimit?: number;
buttons: ReactElement<ButtonProps>[];
formProps?: FormProps;
summaryBar?: ReactElement<any>;
defaultExpanded?: boolean;
autoQueryAfterReset?: boolean;
onQuery?: () => void;
onReset?: () => void;
}
export default class TableProfessionalBar extends Component<TableProfessionalBarProps> {
static get contextType(): typeof TableContext;
static defaultProps: {
prefixCls: string;
queryFieldsLimit: number;
autoQueryAfterReset: boolean;
};
moreFields: ReactElement[];
get queryFields(): React.ReactElement<any>[];
componentDidMount(): void;
componentWillReceiveProps(nextProps: any, _: any): void;
componentWillUnmount(): void;
processDataSetListener(flag: boolean): void;
/**
* queryDataSet 查询前校验事件 触发展开动态字段
* @param dataSet 查询DS
* @param result
*/
handleDataSetValidate({ result }: {
result: any;
}): Promise<void>;
handleFieldEnter(): void;
handleQuery(collapse?: boolean): Promise<void>;
openMore: (fields: React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>[]) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>[];
getResetButton(): JSX.Element;
getMoreFieldsButton(fields: any): JSX.Element | undefined;
/**
* 注入 onEnterDown 事件
* @param elements
*/
createFields(elements: any): ReactElement[];
getQueryBar(): ReactNode;
handleQueryReset(): void;
render(): ({} | null | undefined)[];
}