UNPKG

bm-ng2-select

Version:

ng2-select Botmetric implementation Multi select

40 lines (39 loc) 1.38 kB
"use strict"; var core_1 = require("@angular/core"); var common_1 = require("./common"); var HighlightPipe = (function () { function HighlightPipe() { } HighlightPipe.prototype.transform = function (value, query) { if (query.length < 1) { return value; } if (query) { var tagRE = new RegExp('<[^<>]*>', 'ig'); // get ist of tags var tagList = value.match(tagRE); // Replace tags with token var tmpValue = value.replace(tagRE, '$!$'); // Replace search words value = tmpValue.replace(new RegExp(common_1.escapeRegexp(query), 'gi'), '<strong>$&</strong>'); // Reinsert HTML for (var i = 0; value.indexOf('$!$') > -1; i++) { value = value.replace('$!$', tagList[i]); } } return value; }; return HighlightPipe; }()); HighlightPipe.decorators = [ { type: core_1.Pipe, args: [{ name: 'highlight' },] }, ]; /** @nocollapse */ HighlightPipe.ctorParameters = function () { return []; }; exports.HighlightPipe = HighlightPipe; function stripTags(input) { var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi; var commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi; return input.replace(commentsAndPhpTags, '').replace(tags, ''); } exports.stripTags = stripTags;