UNPKG

ng-next-select

Version:
44 lines (43 loc) 1.87 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; 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 = __decorate([ core_1.Pipe({ name: 'highlight' }) ], HighlightPipe); 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;