If not option is matched, treat it as a whole row search predicate
Summary: See prev diffs Reviewed By: lblasa Differential Revision: D49948976 fbshipit-source-id: 177fd4b90449c78975b6a21c50a781789425b34e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
c4fbd10e68
commit
c8fc3e6b82
@@ -106,6 +106,18 @@ type DataTableBaseProps<T = any> = {
|
|||||||
enablePowerSearchWholeRowSearch?: boolean;
|
enablePowerSearchWholeRowSearch?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const powerSearchConfigEntireRow: FieldConfig = {
|
||||||
|
label: 'Row',
|
||||||
|
key: 'entireRow',
|
||||||
|
operators: {
|
||||||
|
searializable_object_contains:
|
||||||
|
dataTablePowerSearchOperators.searializable_object_contains(),
|
||||||
|
searializable_object_not_contains:
|
||||||
|
dataTablePowerSearchOperators.searializable_object_not_contains(),
|
||||||
|
},
|
||||||
|
useWholeRow: true,
|
||||||
|
};
|
||||||
|
|
||||||
export type ItemRenderer<T> = (
|
export type ItemRenderer<T> = (
|
||||||
item: T,
|
item: T,
|
||||||
selected: boolean,
|
selected: boolean,
|
||||||
@@ -255,17 +267,7 @@ export function DataTable<T extends object>(
|
|||||||
const res: PowerSearchConfig = {fields: {}};
|
const res: PowerSearchConfig = {fields: {}};
|
||||||
|
|
||||||
if (props.enablePowerSearchWholeRowSearch) {
|
if (props.enablePowerSearchWholeRowSearch) {
|
||||||
res.fields.entireRow = {
|
res.fields.entireRow = powerSearchConfigEntireRow;
|
||||||
label: 'Row',
|
|
||||||
key: 'entireRow',
|
|
||||||
operators: {
|
|
||||||
searializable_object_contains:
|
|
||||||
dataTablePowerSearchOperators.searializable_object_contains(),
|
|
||||||
searializable_object_not_contains:
|
|
||||||
dataTablePowerSearchOperators.searializable_object_not_contains(),
|
|
||||||
},
|
|
||||||
useWholeRow: true,
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const column of columns) {
|
for (const column of columns) {
|
||||||
@@ -675,6 +677,16 @@ export function DataTable<T extends object>(
|
|||||||
onSearchExpressionChange={(newSearchExpression) => {
|
onSearchExpressionChange={(newSearchExpression) => {
|
||||||
tableManager.setSearchExpression(newSearchExpression);
|
tableManager.setSearchExpression(newSearchExpression);
|
||||||
}}
|
}}
|
||||||
|
onConfirmUnknownOption={
|
||||||
|
props.enablePowerSearchWholeRowSearch
|
||||||
|
? (searchValue) => ({
|
||||||
|
field: powerSearchConfigEntireRow,
|
||||||
|
operator:
|
||||||
|
dataTablePowerSearchOperators.searializable_object_contains(),
|
||||||
|
searchValue,
|
||||||
|
})
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
{contexMenu && (
|
{contexMenu && (
|
||||||
<Dropdown overlay={contexMenu} placement="bottomRight">
|
<Dropdown overlay={contexMenu} placement="bottomRight">
|
||||||
|
|||||||
Reference in New Issue
Block a user