UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

70 lines 5.02 kB
/** * @fileoverview added by tsickle * Generated from: highlight.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectionStrategy, Component, Input, HostBinding } from '@angular/core'; export class HighlightComponent { constructor() { this.display = 'inline'; } /** * @return {?} */ get htmlContent() { return this.highlightHtml; } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { this.highlightHtml = this.transform(this.value, this.term); } /** * @param {?} value * @param {?} term * @return {?} */ transform(value, term) { return value && term ? this.highlight(value, term) : value; } /** * @param {?} value * @param {?} term * @return {?} */ highlight(value, term) { /** @type {?} */ const regExp = new RegExp(term.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), 'gi'); return value.replace(regExp, (/** * @param {?} match * @return {?} */ function (match) { return `<b class="re-highlight">${match}</b>`; })); } } HighlightComponent.decorators = [ { type: Component, args: [{ selector: 'd-highlight', template: ``, changeDetection: ChangeDetectionStrategy.OnPush }] } ]; HighlightComponent.propDecorators = { htmlContent: [{ type: HostBinding, args: ['innerHTML',] }], display: [{ type: HostBinding, args: ['style.display',] }], value: [{ type: Input }], term: [{ type: Input }] }; if (false) { /** @type {?} */ HighlightComponent.prototype.display; /** @type {?} */ HighlightComponent.prototype.value; /** @type {?} */ HighlightComponent.prototype.term; /** @type {?} */ HighlightComponent.prototype.highlightHtml; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL2F1dG8tY29tcGxldGUvIiwic291cmNlcyI6WyJoaWdobGlnaHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9qSCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT2dDLFlBQU8sR0FBRyxRQUFRLENBQUM7SUFtQm5ELENBQUM7Ozs7SUFwQkMsSUFBOEIsV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Ozs7O0lBTTFFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7O0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ25DLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3RCxDQUFDOzs7Ozs7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVk7O2NBQzdCLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQztRQUNqRixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTTs7OztRQUFFLFVBQVUsS0FBSztZQUMxQyxPQUFPLDJCQUEyQixLQUFLLE1BQU0sQ0FBQztRQUNoRCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFFBQVEsRUFBRSxFQUFFO2dCQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7MEJBRUUsV0FBVyxTQUFDLFdBQVc7c0JBQ3ZCLFdBQVcsU0FBQyxlQUFlO29CQUMzQixLQUFLO21CQUNMLEtBQUs7Ozs7SUFGTixxQ0FBaUQ7O0lBQ2pELG1DQUF1Qjs7SUFDdkIsa0NBQXNCOztJQUN0QiwyQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkLWhpZ2hsaWdodCcsXHJcbiAgdGVtcGxhdGU6IGBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBIb3N0QmluZGluZygnaW5uZXJIVE1MJykgZ2V0IGh0bWxDb250ZW50KCkgeyByZXR1cm4gdGhpcy5oaWdobGlnaHRIdG1sOyB9XHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgZGlzcGxheSA9ICdpbmxpbmUnO1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGVybTogc3RyaW5nO1xyXG4gIGhpZ2hsaWdodEh0bWw6IHN0cmluZztcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5oaWdobGlnaHRIdG1sID0gdGhpcy50cmFuc2Zvcm0odGhpcy52YWx1ZSwgdGhpcy50ZXJtKTtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCB0ZXJtOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgcmV0dXJuIHZhbHVlICYmIHRlcm0gPyB0aGlzLmhpZ2hsaWdodCh2YWx1ZSwgdGVybSkgOiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nLCB0ZXJtOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAodGVybS5yZXBsYWNlKC9bLVtcXF17fSgpKis/LixcXFxcXiR8I1xcc10vZywgJ1xcXFwkJicpLCAnZ2knKTtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKHJlZ0V4cCwgZnVuY3Rpb24gKG1hdGNoKSB7XHJcbiAgICAgIHJldHVybiBgPGIgY2xhc3M9XCJyZS1oaWdobGlnaHRcIj4ke21hdGNofTwvYj5gO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==