Skip to content

Commit 19d939f

Browse files
committed
feat: added search on key #297
1 parent 0f7ffc5 commit 19d939f

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

projects/ngx-select-dropdown/src/lib/pipes/filter-by.pipe.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Pipe, PipeTransform } from '@angular/core';
77
name: 'filterBy'
88
})
99
export class FilterByPipe implements PipeTransform {
10-
public transform(array: any[], searchText?: string, keyName?: string) {
10+
public transform(array: any[], searchText?: string, keyName?: string | string[]) {
1111
if (!array || !searchText || !Array.isArray(array)) {
1212
return array;
1313
}
@@ -27,8 +27,16 @@ export class FilterByPipe implements PipeTransform {
2727
});
2828
} else {
2929
return array.filter((item: any) => {
30-
if (typeof item[keyName] !== 'object' && item[keyName].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) {
31-
return true;
30+
if (typeof keyName === 'string') {
31+
if (typeof item[keyName] !== 'object' && item[keyName].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) {
32+
return true;
33+
}
34+
} else {
35+
for (const key of keyName) {
36+
if (typeof item[key] !== 'object' && item[key].toString().toLowerCase().indexOf(searchText.trim().toLowerCase()) > -1) {
37+
return true;
38+
}
39+
}
3240
}
3341
return false;
3442
});

projects/ngx-select-dropdown/src/lib/types/ngx-select-dropdown.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export interface NgxDropdownConfig {
99
moreText?: string;
1010
noResultsFound?: string;
1111
searchPlaceholder?: string;
12-
searchOnKey?: string;
12+
searchOnKey?: string | string[];
1313
clearOnSelection?: boolean;
1414
inputDirection?: string;
1515
selectAllLabel?: string;

0 commit comments

Comments
 (0)