From 9d4ce0586dd2ff2fe00511e005518c6f0bc58530 Mon Sep 17 00:00:00 2001 From: Andrey Goncharov Date: Tue, 19 Sep 2023 08:19:25 -0700 Subject: [PATCH] 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 --- .../src/ui/data-table/DataTableWithPowerSearch.tsx | 3 +++ .../src/ui/data-table/DataTableWithPowerSearchManager.tsx | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearch.tsx b/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearch.tsx index a296818be..9b7624a8e 100644 --- a/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearch.tsx +++ b/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearch.tsx @@ -66,6 +66,7 @@ import { PowerSearchConfig, FieldConfig, OperatorConfig, + SearchExpressionTerm, } from '../PowerSearch'; import { dataTablePowerSearchOperatorProcessorConfig, @@ -94,6 +95,7 @@ type DataTableBaseProps = { onRenderEmpty?: | null | ((dataView?: _DataSourceView) => React.ReactElement); + powerSearchInitialState?: SearchExpressionTerm[]; }; export type ItemRenderer = ( @@ -193,6 +195,7 @@ export function DataTable( virtualizerRef, autoScroll: props.enableAutoScroll, enablePersistSettings: props.enablePersistSettings, + initialSearchExpression: props.powerSearchInitialState, }), ); diff --git a/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearchManager.tsx b/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearchManager.tsx index 925f5ef36..ad9f4d2e9 100644 --- a/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearchManager.tsx +++ b/desktop/flipper-plugin/src/ui/data-table/DataTableWithPowerSearchManager.tsx @@ -103,6 +103,7 @@ type DataManagerConfig = { virtualizerRef: MutableRefObject; autoScroll?: boolean; enablePersistSettings?: boolean; + initialSearchExpression?: SearchExpressionTerm[]; }; export type DataManagerState = { @@ -351,7 +352,7 @@ export function createInitialState( items: new Set(prefs!.selection.items), } : emptySelection, - searchExpression: prefs?.searchExpression, + searchExpression: prefs?.searchExpression ?? config.initialSearchExpression, filterExceptions: undefined, autoScroll: prefs?.autoScroll ?? config.autoScroll ?? false, sideBySide: false,