UNPKG

devextreme-react

Version:

DevExtreme React UI and Visualization Components

228 lines (226 loc) • 10.3 kB
/*! * devextreme-react * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-react */ import * as React from "react"; import { Ref, ReactElement } from "react"; import dxFilterBuilder, { Properties } from "devextreme/ui/filter_builder"; import { IHtmlOptions, NestedComponentMeta } from "./core/component"; import type { ContentReadyEvent, DisposingEvent, EditorPreparedEvent, EditorPreparingEvent, InitializedEvent, ValueChangedEvent, dxFilterBuilderField, FieldInfo, FilterBuilderOperation } from "devextreme/ui/filter_builder"; import type { DataType, template, Format as CommonFormat } from "devextreme/common"; import type { Format as LocalizationFormat } from "devextreme/common/core/localization"; import type { DataSourceOptions } from "devextreme/data/data_source"; import type { Store } from "devextreme/data/store"; type ReplaceFieldTypes<TSource, TReplacement> = { [P in keyof TSource]: P extends keyof TReplacement ? TReplacement[P] : TSource[P]; }; type IFilterBuilderOptionsNarrowedEvents = { onContentReady?: ((e: ContentReadyEvent) => void); onDisposing?: ((e: DisposingEvent) => void); onEditorPrepared?: ((e: EditorPreparedEvent) => void); onEditorPreparing?: ((e: EditorPreparingEvent) => void); onInitialized?: ((e: InitializedEvent) => void); onValueChanged?: ((e: ValueChangedEvent) => void); }; type IFilterBuilderOptions = React.PropsWithChildren<ReplaceFieldTypes<Properties, IFilterBuilderOptionsNarrowedEvents> & IHtmlOptions & { defaultValue?: Array<any> | (() => any) | string; onValueChange?: (value: Array<any> | (() => any) | string) => void; }>; interface FilterBuilderRef { instance: () => dxFilterBuilder; } declare const FilterBuilder: (props: React.PropsWithChildren<IFilterBuilderOptions> & { ref?: Ref<FilterBuilderRef>; }) => ReactElement | null; type ICustomOperationProps = React.PropsWithChildren<{ calculateFilterExpression?: ((filterValue: any, field: dxFilterBuilderField) => string | (() => any) | Array<any>); caption?: string | undefined; customizeText?: ((fieldInfo: FieldInfo) => string); dataTypes?: Array<DataType> | undefined; editorTemplate?: ((conditionInfo: { field: dxFilterBuilderField; setValue: (() => void); value: string | number | Date; }, container: any) => string | any) | template; hasValue?: boolean; icon?: string | undefined; name?: string | undefined; editorRender?: (...params: any) => React.ReactNode; editorComponent?: React.ComponentType<any>; }>; declare const CustomOperation: ((props: ICustomOperationProps) => React.FunctionComponentElement<React.PropsWithChildren<{ calculateFilterExpression?: ((filterValue: any, field: dxFilterBuilderField) => string | (() => any) | Array<any>) | undefined; caption?: string | undefined; customizeText?: ((fieldInfo: FieldInfo) => string) | undefined; dataTypes?: Array<DataType> | undefined; editorTemplate?: template | ((conditionInfo: { field: dxFilterBuilderField; setValue: (() => void); value: string | number | Date; }, container: any) => string | any) | undefined; hasValue?: boolean | undefined; icon?: string | undefined; name?: string | undefined; editorRender?: ((...params: any) => React.ReactNode) | undefined; editorComponent?: React.ComponentType<any> | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IFieldProps = React.PropsWithChildren<{ calculateFilterExpression?: ((filterValue: any, selectedFilterOperation: string) => string | (() => any) | Array<any>); caption?: string | undefined; customizeText?: ((fieldInfo: FieldInfo) => string); dataField?: string | undefined; dataType?: DataType; editorOptions?: any; editorTemplate?: ((conditionInfo: { field: dxFilterBuilderField; filterOperation: string; setValue: (() => void); value: string | number | Date; }, container: any) => string | any) | template; falseText?: string; filterOperations?: Array<FilterBuilderOperation | string>; format?: LocalizationFormat; lookup?: Record<string, any> | { allowClearing?: boolean; dataSource?: Array<any> | DataSourceOptions | Store | undefined; displayExpr?: ((data: any) => string) | string | undefined; valueExpr?: ((data: any) => string | number | boolean) | string | undefined; }; name?: string | undefined; trueText?: string; editorRender?: (...params: any) => React.ReactNode; editorComponent?: React.ComponentType<any>; }>; declare const Field: ((props: IFieldProps) => React.FunctionComponentElement<React.PropsWithChildren<{ calculateFilterExpression?: ((filterValue: any, selectedFilterOperation: string) => string | (() => any) | Array<any>) | undefined; caption?: string | undefined; customizeText?: ((fieldInfo: FieldInfo) => string) | undefined; dataField?: string | undefined; dataType?: DataType | undefined; editorOptions?: any; editorTemplate?: template | ((conditionInfo: { field: dxFilterBuilderField; filterOperation: string; setValue: (() => void); value: string | number | Date; }, container: any) => string | any) | undefined; falseText?: string | undefined; filterOperations?: string[] | undefined; format?: LocalizationFormat; lookup?: Record<string, any> | { allowClearing?: boolean | undefined; dataSource?: Array<any> | DataSourceOptions | Store | undefined; displayExpr?: string | ((data: any) => string) | undefined; valueExpr?: string | ((data: any) => string | number | boolean) | undefined; } | undefined; name?: string | undefined; trueText?: string | undefined; editorRender?: ((...params: any) => React.ReactNode) | undefined; editorComponent?: React.ComponentType<any> | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IFilterOperationDescriptionsProps = React.PropsWithChildren<{ between?: string; contains?: string; endsWith?: string; equal?: string; greaterThan?: string; greaterThanOrEqual?: string; isBlank?: string; isNotBlank?: string; lessThan?: string; lessThanOrEqual?: string; notContains?: string; notEqual?: string; startsWith?: string; }>; declare const FilterOperationDescriptions: ((props: IFilterOperationDescriptionsProps) => React.FunctionComponentElement<React.PropsWithChildren<{ between?: string | undefined; contains?: string | undefined; endsWith?: string | undefined; equal?: string | undefined; greaterThan?: string | undefined; greaterThanOrEqual?: string | undefined; isBlank?: string | undefined; isNotBlank?: string | undefined; lessThan?: string | undefined; lessThanOrEqual?: string | undefined; notContains?: string | undefined; notEqual?: string | undefined; startsWith?: string | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IFormatProps = React.PropsWithChildren<{ currency?: string; formatter?: ((value: number | Date) => string); parser?: ((value: string) => number | Date); precision?: number; type?: CommonFormat | string; useCurrencyAccountingStyle?: boolean; }>; declare const Format: ((props: IFormatProps) => React.FunctionComponentElement<React.PropsWithChildren<{ currency?: string | undefined; formatter?: ((value: number | Date) => string) | undefined; parser?: ((value: string) => number | Date) | undefined; precision?: number | undefined; type?: string | undefined; useCurrencyAccountingStyle?: boolean | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type IGroupOperationDescriptionsProps = React.PropsWithChildren<{ and?: string; notAnd?: string; notOr?: string; or?: string; }>; declare const GroupOperationDescriptions: ((props: IGroupOperationDescriptionsProps) => React.FunctionComponentElement<React.PropsWithChildren<{ and?: string | undefined; notAnd?: string | undefined; notOr?: string | undefined; or?: string | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; type ILookupProps = React.PropsWithChildren<{ allowClearing?: boolean; dataSource?: Array<any> | DataSourceOptions | Store | undefined; displayExpr?: ((data: any) => string) | string | undefined; valueExpr?: ((data: any) => string | number | boolean) | string | undefined; }>; declare const Lookup: ((props: ILookupProps) => React.FunctionComponentElement<React.PropsWithChildren<{ allowClearing?: boolean | undefined; dataSource?: Array<any> | DataSourceOptions | Store | undefined; displayExpr?: string | ((data: any) => string) | undefined; valueExpr?: string | ((data: any) => string | number | boolean) | undefined; } & { children?: React.ReactNode; } & { elementDescriptor: import("./core/configuration/react/element").IElementDescriptor; }>>) & NestedComponentMeta; export default FilterBuilder; export { FilterBuilder, IFilterBuilderOptions, FilterBuilderRef, CustomOperation, ICustomOperationProps, Field, IFieldProps, FilterOperationDescriptions, IFilterOperationDescriptionsProps, Format, IFormatProps, GroupOperationDescriptions, IGroupOperationDescriptionsProps, Lookup, ILookupProps }; import type * as FilterBuilderTypes from 'devextreme/ui/filter_builder_types'; export { FilterBuilderTypes };