Support setting initial power search expression

Summary: Doc: https://docs.google.com/document/d/1miofxds9DJgWScj0zFyBbdpRH5Rj0T9FqiCapof5-vU/edit#heading=h.pg8svtdjlx7

Reviewed By: antonk52

Differential Revision: D49410966

fbshipit-source-id: 2dcdb4495275dfdca7920af26bbfea4fb95ac419
This commit is contained in:
Andrey Goncharov
2023-09-19 08:19:25 -07:00
committed by Facebook GitHub Bot
parent ba812eaea6
commit 9d4ce0586d
2 changed files with 5 additions and 1 deletions

View File

@@ -66,6 +66,7 @@ import {
PowerSearchConfig, PowerSearchConfig,
FieldConfig, FieldConfig,
OperatorConfig, OperatorConfig,
SearchExpressionTerm,
} from '../PowerSearch'; } from '../PowerSearch';
import { import {
dataTablePowerSearchOperatorProcessorConfig, dataTablePowerSearchOperatorProcessorConfig,
@@ -94,6 +95,7 @@ type DataTableBaseProps<T = any> = {
onRenderEmpty?: onRenderEmpty?:
| null | null
| ((dataView?: _DataSourceView<T, T[keyof T]>) => React.ReactElement); | ((dataView?: _DataSourceView<T, T[keyof T]>) => React.ReactElement);
powerSearchInitialState?: SearchExpressionTerm[];
}; };
export type ItemRenderer<T> = ( export type ItemRenderer<T> = (
@@ -193,6 +195,7 @@ export function DataTable<T extends object>(
virtualizerRef, virtualizerRef,
autoScroll: props.enableAutoScroll, autoScroll: props.enableAutoScroll,
enablePersistSettings: props.enablePersistSettings, enablePersistSettings: props.enablePersistSettings,
initialSearchExpression: props.powerSearchInitialState,
}), }),
); );

View File

@@ -103,6 +103,7 @@ type DataManagerConfig<T> = {
virtualizerRef: MutableRefObject<DataSourceVirtualizer | undefined>; virtualizerRef: MutableRefObject<DataSourceVirtualizer | undefined>;
autoScroll?: boolean; autoScroll?: boolean;
enablePersistSettings?: boolean; enablePersistSettings?: boolean;
initialSearchExpression?: SearchExpressionTerm[];
}; };
export type DataManagerState<T> = { export type DataManagerState<T> = {
@@ -351,7 +352,7 @@ export function createInitialState<T>(
items: new Set(prefs!.selection.items), items: new Set(prefs!.selection.items),
} }
: emptySelection, : emptySelection,
searchExpression: prefs?.searchExpression, searchExpression: prefs?.searchExpression ?? config.initialSearchExpression,
filterExceptions: undefined, filterExceptions: undefined,
autoScroll: prefs?.autoScroll ?? config.autoScroll ?? false, autoScroll: prefs?.autoScroll ?? config.autoScroll ?? false,
sideBySide: false, sideBySide: false,