choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
93 lines (92 loc) • 3.11 kB
TypeScript
import React, { Component, MouseEventHandler, ReactElement, ReactNode } from 'react';
import { TableButtonType } from '../enum';
import { Buttons, DynamicFilterBarConfig, SummaryBar, TableQueryBarHookProps } from '../Table';
import { ButtonProps } from '../../button/Button';
import { DataSetExportStatus } from '../../data-set/enum';
import DataSet from '../../data-set';
import { PaginationProps } from '../../pagination/Pagination';
export interface TableQueryBarProps {
buttons?: Buttons[];
queryFields?: {
[key: string]: ReactElement<any>;
};
queryFieldsLimit?: number;
summaryFieldsLimit?: number;
showQueryBar?: boolean;
pagination?: ReactElement<PaginationProps>;
summaryBar?: SummaryBar[];
dynamicFilterBar?: DynamicFilterBarConfig;
filterBarFieldName?: string;
filterBarPlaceholder?: string;
clientExportQuantity?: number;
onQuery?: () => void;
onReset?: () => void;
treeQueryExpanded?: boolean;
}
export default class TableQueryBar extends Component<TableQueryBarProps> {
static displayName: string;
static contextType: React.Context<{
tableStore: import("../TableStore").default;
}>;
exportModal: any;
exportDataSet: DataSet;
exportData: any;
/**
* 多行汇总
*/
moreSummary: SummaryBar[];
static defaultProps: {
summaryFieldsLimit: number;
};
get showQueryBar(): boolean;
componentWillUnmount(): void;
handleButtonCreate(): void;
handleButtonSubmit(): any;
handleButtonDelete(): any;
handleButtonRemove(): void;
handleButtonReset(): void;
handleQueryReset(): void;
handleExpandAll(): void;
handleCollapseAll(): void;
handleButtonExport(): Promise<void>;
handleQuery(): any;
handleExport(): boolean;
handleExportButton(data: DataSetExportStatus, filename?: string): void;
getButtonProps(type: TableButtonType): (ButtonProps & {
onClick: MouseEventHandler<any>;
children?: ReactNode;
}) | undefined;
/**
* 渲染表头汇总列
* @param summary
*/
renderSummary(summary: any): any;
/**
* 点击汇总条展开收起
* @param summary
*/
openMore: (summary: any) => SummaryBar[];
/**
* 汇总条展开收起按钮
* @param summary
*/
getMoreSummaryButton(summary: any): JSX.Element | undefined;
/**
* 渲染汇总条
*/
getSummaryBar(): ReactElement<any> | undefined;
/**
* 汇总条存在下 buttons 大于4个放入下拉
*/
getMoreButton(): JSX.Element;
getButtons(): ReactElement<ButtonProps>[];
getQueryFields(): ReactElement<any>[];
renderToolBar(props: TableQueryBarHookProps): JSX.Element;
renderFilterBar(props: TableQueryBarHookProps): JSX.Element;
renderAdvancedQueryBar(props: TableQueryBarHookProps): JSX.Element;
renderProfessionalBar(props: TableQueryBarHookProps): JSX.Element;
renderDynamicFilterBar(props: TableQueryBarHookProps): JSX.Element;
expandTree(): void;
collapseTree(): void;
render(): {} | null | undefined;
}