UNPKG

choerodon-ui

Version:

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

119 lines (118 loc) 3.16 kB
import React, { Component, ReactElement, ReactNode } from 'react'; import Field from '../../data-set/Field'; import DataSet from '../../data-set'; import { RecordStatus } from '../../data-set/enum'; import { ElementProps } from '../../core/ViewComponent'; import { DynamicFilterBarConfig } from '../Table.d'; export interface TableDynamicFilterBarProps extends ElementProps { dataSet: DataSet; queryDataSet?: DataSet; queryFields: ReactElement<any>[]; queryFieldsLimit?: number; dynamicFilterBar?: DynamicFilterBarConfig; onQuery?: (props: object) => void; onReset?: () => void; } export default class TableDynamicFilterBar extends Component<TableDynamicFilterBarProps> { static contextType: React.Context<import("../TableContext").Props>; static defaultProps: { prefixCls: string; queryFieldsLimit: number; }; moreFields: Field[]; /** * 控制添加筛选下拉显隐 */ fieldSelectHidden: boolean; /** * 勾选字段 */ selectFields: string[]; /** * 收起/展开 */ expand: boolean; /** * 搜索值 */ searchText: string; /** * 条件状态 */ conditionStatus: RecordStatus; refDropdown: HTMLDivElement | null; refFilterWrapper: HTMLDivElement | null; refEditors: Map<string, any>; originalValue: object; originalConditionKeys: string[]; enterNum: number; constructor(props: any, context: any); componentDidMount(): void; componentWillUnmount(): void; processDataSetListener(flag: boolean): void; handleClickOut: (e: any) => void; /** * queryDataSet 查询前校验事件 触发展开动态字段 * @param dataSet 查询DS * @param result */ handleDataSetValidate({ dataSet, result }: { dataSet: any; result: any; }): Promise<void>; setConditionStatus(value: any, orglValue?: object): void; /** * 筛选条件更新 触发表格查询 */ handleDataSetUpdate({ record }: { record: any; }): void; /** * queryDS 新建,初始勾选值 */ handleDataSetCreate({ dataSet, record }: { dataSet: any; record: any; }): void; /** * 注入 onEnterDown 事件 * @param element * @param name */ createFields(element: any, name: any): ReactElement; /** * 判断查询值是否为空 * @param value */ isEmpty(value: any): boolean; /** * 勾选 * @param code */ handleSelect: (code: any) => void; /** * 取消勾选 * @param code */ handleUnSelect: (code: any) => void; /** * 渲染展开逻辑 * @param hidden 是否隐藏全部 */ getExpandNode(hidden: any): ReactNode; /** * 获取筛选下拉 */ getFilterMenu(): ReactNode; /** * tableFilterSuffix 预留自定义区域 */ renderSuffix(): JSX.Element | null; renderPrefix(): JSX.Element | null; /** * 渲染查询条 */ getQueryBar(): ReactNode; handleQuery(collapse?: boolean): void; render(): React.ReactNode; }