From df37187b6b2b0b4d9a88550d20c2a15844bbe3d3 Mon Sep 17 00:00:00 2001 From: Andrey Goncharov Date: Thu, 14 Sep 2023 04:48:12 -0700 Subject: [PATCH] Add int_greater_than operator Summary: Doc: https://docs.google.com/document/d/1miofxds9DJgWScj0zFyBbdpRH5Rj0T9FqiCapof5-vU/edit#heading=h.pg8svtdjlx7 Reviewed By: lblasa Differential Revision: D49230136 fbshipit-source-id: e3ebcc1d501a31a3d7076ad2d013b66ec69ea935 --- .../DataTableDefaultPowerSearchOperators.tsx | 43 +++++++++++++------ 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/desktop/flipper-plugin/src/ui/data-table/DataTableDefaultPowerSearchOperators.tsx b/desktop/flipper-plugin/src/ui/data-table/DataTableDefaultPowerSearchOperators.tsx index 44fbc6e9f..c18fc8713 100644 --- a/desktop/flipper-plugin/src/ui/data-table/DataTableDefaultPowerSearchOperators.tsx +++ b/desktop/flipper-plugin/src/ui/data-table/DataTableDefaultPowerSearchOperators.tsx @@ -46,6 +46,11 @@ export const dataTablePowerSearchOperators = { key: 'string_set_contains_none_of', valueType: 'STRING_SET', }), + int_greater_than: () => ({ + label: '>', + key: 'int_greater_than', + valueType: 'INTEGER', + }), } satisfies { [key: string]: (...args: any[]) => OperatorConfig; }; @@ -55,21 +60,31 @@ export type PowerSearchOperatorProcessorConfig = { }; export const dataTablePowerSearchOperatorProcessorConfig = { - string_contains: (operator, searchValue, value) => - (value as string) - .toLowerCase() - .includes((searchValue as string).toLowerCase()), - string_not_contains: (operator, searchValue, value) => - !(value as string) - .toLowerCase() - .includes((searchValue as string).toLowerCase()), - string_matches_exactly: (operator, searchValue, value) => + string_contains: (_operator, searchValue: string, value: string) => + value.toLowerCase().includes(searchValue.toLowerCase()), + string_not_contains: (_operator, searchValue: string, value: string) => + !value.toLowerCase().includes(searchValue.toLowerCase()), + string_matches_exactly: (_operator, searchValue: string, value: string) => value === searchValue, - string_not_matches_exactly: (operator, searchValue, value) => + string_not_matches_exactly: (_operator, searchValue: string, value: string) => value !== searchValue, // See PowerSearchStringSetTerm - string_set_contains_any_of: (operator, searchValue: string[], value) => - searchValue.some((item) => (value as string).toLowerCase().includes(item)), - string_set_contains_none_of: (operator, searchValue: string[], value) => - !searchValue.some((item) => (value as string).toLowerCase().includes(item)), + string_set_contains_any_of: ( + _operator, + searchValue: string[], + value: string, + ) => + searchValue.some((item) => + value.toLowerCase().includes(item.toLowerCase()), + ), + string_set_contains_none_of: ( + _operator, + searchValue: string[], + value: string, + ) => + !searchValue.some((item) => + value.toLowerCase().includes(item.toLowerCase()), + ), + int_greater_than: (_operator, searchValue: number, value: number) => + value > searchValue, } satisfies PowerSearchOperatorProcessorConfig;