UNPKG

choerodon-ui

Version:

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

103 lines (102 loc) 3.86 kB
import React, { Component, MouseEventHandler, ReactElement, ReactNode } from 'react'; import { TableButtonType } from '../enum'; import { Buttons, ComboFilterBarConfig, DynamicFilterBarConfig, SummaryBar, TableQueryBarHookProps } from '../Table'; import { ButtonProps } from '../../button/Button'; import { DataSetExportStatus } from '../../data-set/enum'; import TableContext, { TableContextValue } from '../TableContext'; import DataSet from '../../data-set'; import { PaginationProps } from '../../pagination/Pagination'; export interface TableQueryBarProps { buttons?: Buttons[]; queryFields?: { [key: string]: ReactElement<any>; }; queryFieldsLimit?: number; buttonsLimit?: number; summaryFieldsLimit?: number; summaryBarFieldWidth?: number; showQueryBar?: boolean; pagination?: ReactElement<PaginationProps>; summaryBar?: SummaryBar[]; dynamicFilterBar?: DynamicFilterBarConfig; filterBarFieldName?: string; filterBarPlaceholder?: string; searchCode?: string; clientExportQuantity?: number; onQuery?: () => void; onReset?: () => void; treeQueryExpanded?: boolean; comboFilterBar?: ComboFilterBarConfig; } export default class TableQueryBar extends Component<TableQueryBarProps> { static displayName: string; static get contextType(): typeof TableContext; context: TableContextValue; exportModal: any; exportDataSet: DataSet; exportData: any; queryFieldsElement: ReactElement<any>[]; /** * 多行汇总 */ moreSummary: ReactElement[] | undefined; static defaultProps: { summaryBarFieldWidth: number; }; get showQueryBar(): boolean; componentWillUnmount(): void; handleButtonCreate(): void; handleButtonSubmit(): Promise<any>; handleButtonDelete(): Promise<any>; handleButtonRemove(): void; handleButtonReset(): void; handleQueryReset(): void; handleExpandAll(): void; handleCollapseAll(): void; handleChangeExportStrategy(value: any): void; handleButtonExport(): Promise<void>; handleQuery(): Promise<any>; handleExport(): boolean; handleExportButton(data: DataSetExportStatus, filename?: string): void; getButtonProps(type: TableButtonType): (ButtonProps & { onClick: MouseEventHandler<any>; children?: ReactNode; }) | undefined; /** * 渲染表头汇总列 * @param summary */ renderSummary(summary?: SummaryBar[]): ReactElement[] | undefined; /** * 点击汇总条展开收起 * @param summary */ openMore: (summary?: SummaryBar[] | undefined) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>[] | undefined; /** * 汇总条展开收起按钮 * @param summary */ getMoreSummaryButton(summary: SummaryBar[]): JSX.Element | undefined; /** * 渲染汇总条 */ getSummaryBar(): ReactElement<any> | undefined; /** * buttons 大于 buttonsLimits 放入下拉 * @param buttonsLimits * @param hasCombineSort */ getMoreButton(buttonsLimits: number, hasCombineSort?: boolean): ReactElement; getButtons(): ReactElement<ButtonProps>[]; getQueryFields(): ReactElement<any>[]; getSortableFieldNames(): string[]; 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; renderComboBar(props: TableQueryBarHookProps): JSX.Element; expandTree(): void; collapseTree(): void; render(): {} | null | undefined; }