change search filter to includes (#10141)

This commit is contained in:
keefe roedersheimer 2020-08-04 19:37:07 -04:00 committed by GitHub
parent 34a4113752
commit 4bb198eb4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 5 deletions

View File

@ -50,7 +50,7 @@ describe('general', () => {
id: 'datasource',
value: `hello`,
}),
).toMatchInlineSnapshot(`"LOWER(\\"datasource\\") LIKE LOWER('hello%')"`);
).toMatchInlineSnapshot(`"LOWER(\\"datasource\\") LIKE LOWER('%hello%')"`);
expect(
sqlQueryCustomTableFilter({

View File

@ -89,7 +89,7 @@ export function makeBooleanFilter(): FilterRender {
interface NeedleAndMode {
needle: string;
mode: 'exact' | 'prefix';
mode: 'exact' | 'includes';
}
function getNeedleAndMode(input: string): NeedleAndMode {
@ -101,7 +101,7 @@ function getNeedleAndMode(input: string): NeedleAndMode {
}
return {
needle: input.startsWith(`"`) ? input.substring(1) : input,
mode: 'prefix',
mode: 'includes',
};
}
@ -113,7 +113,7 @@ export function booleanCustomTableFilter(filter: Filter, value: any): boolean {
if (needleAndMode.mode === 'exact') {
return needle === haystack;
}
return haystack.startsWith(needle);
return haystack.includes(needle);
}
export function sqlQueryCustomTableFilter(filter: Filter): string {
@ -123,7 +123,7 @@ export function sqlQueryCustomTableFilter(filter: Filter): string {
if (needleAndMode.mode === 'exact') {
return `${columnName} = '${needle}'`;
} else {
return `LOWER(${columnName}) LIKE LOWER('${needle}%')`;
return `LOWER(${columnName}) LIKE LOWER('%${needle}%')`;
}
}