mirror of
https://github.com/bitwarden/browser.git
synced 2024-10-18 07:25:15 +02:00
31 lines
861 B
TypeScript
31 lines
861 B
TypeScript
|
import {
|
||
|
Pipe,
|
||
|
PipeTransform,
|
||
|
} from '@angular/core';
|
||
|
|
||
|
@Pipe({
|
||
|
name: 'search',
|
||
|
})
|
||
|
export class SearchPipe implements PipeTransform {
|
||
|
transform(items: any[], searchText: string, prop1?: string, prop2?: string): any[] {
|
||
|
if (items == null || items.length === 0) {
|
||
|
return [];
|
||
|
}
|
||
|
|
||
|
if (searchText == null || searchText.length < 2) {
|
||
|
return items;
|
||
|
}
|
||
|
|
||
|
searchText = searchText.toLowerCase();
|
||
|
return items.filter((i) => {
|
||
|
if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {
|
||
|
return true;
|
||
|
}
|
||
|
if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {
|
||
|
return true;
|
||
|
}
|
||
|
return false;
|
||
|
});
|
||
|
}
|
||
|
}
|