pm-controls
Version:
ProModel Controls
16 lines (14 loc) • 556 B
text/typescript
import {PipeTransform, Pipe} from '@angular/core';
({ name: 'highlight' })
export class HighlightPipe implements PipeTransform {
transform(text: string, search): string {
if (!search)
return text;
var pattern = search.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
pattern = pattern.split(' ').filter((t) => {
return t.length > 0;
}).join('|');
var regex = new RegExp(pattern, 'gi');
return search ? text.replace(regex, (match) => `<span class="highlight">${match}</span>`) : text;
}
}