Add string_set_contains_none_of operator

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

Reviewed By: lblasa

Differential Revision: D49230131

fbshipit-source-id: 9c4375e181b2ac20b5ab346c2e5f24c6d90c28ac
This commit is contained in:
Andrey Goncharov
2023-09-14 04:48:12 -07:00
committed by Facebook GitHub Bot
parent a27f4580a3
commit 43b2effdda

View File

@@ -41,6 +41,11 @@ export const dataTablePowerSearchOperators = {
key: 'string_set_contains_any_of', key: 'string_set_contains_any_of',
valueType: 'STRING_SET', valueType: 'STRING_SET',
}), }),
string_set_contains_none_of: () => ({
label: 'contains none of',
key: 'string_set_contains_none_of',
valueType: 'STRING_SET',
}),
} satisfies { } satisfies {
[key: string]: (...args: any[]) => OperatorConfig; [key: string]: (...args: any[]) => OperatorConfig;
}; };
@@ -65,4 +70,6 @@ export const dataTablePowerSearchOperatorProcessorConfig = {
// See PowerSearchStringSetTerm // See PowerSearchStringSetTerm
string_set_contains_any_of: (operator, searchValue: string[], value) => string_set_contains_any_of: (operator, searchValue: string[], value) =>
searchValue.some((item) => (value as string).toLowerCase().includes(item)), 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)),
} satisfies PowerSearchOperatorProcessorConfig; } satisfies PowerSearchOperatorProcessorConfig;