@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
90 lines • 5.8 kB
JavaScript
/**
* @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';
var HighlightComponent = /** @class */ (function () {
function HighlightComponent() {
this.display = 'inline';
}
Object.defineProperty(HighlightComponent.prototype, "htmlContent", {
get: /**
* @return {?}
*/
function () { return this.highlightHtml; },
enumerable: true,
configurable: true
});
/**
* @param {?} changes
* @return {?}
*/
HighlightComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
this.highlightHtml = this.transform(this.value, this.term);
};
/**
* @param {?} value
* @param {?} term
* @return {?}
*/
HighlightComponent.prototype.transform = /**
* @param {?} value
* @param {?} term
* @return {?}
*/
function (value, term) {
return value && term ? this.highlight(value, term) : value;
};
/**
* @param {?} value
* @param {?} term
* @return {?}
*/
HighlightComponent.prototype.highlight = /**
* @param {?} value
* @param {?} term
* @return {?}
*/
function (value, term) {
/** @type {?} */
var 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 }]
};
return HighlightComponent;
}());
export { HighlightComponent };
if (false) {
/** @type {?} */
HighlightComponent.prototype.display;
/** @type {?} */
HighlightComponent.prototype.value;
/** @type {?} */
HighlightComponent.prototype.term;
/** @type {?} */
HighlightComponent.prototype.highlightHtml;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL2F1dG8tY29tcGxldGUvIiwic291cmNlcyI6WyJoaWdobGlnaHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSDtJQUFBO1FBT2dDLFlBQU8sR0FBRyxRQUFRLENBQUM7SUFtQm5ELENBQUM7SUFwQkMsc0JBQThCLDJDQUFXOzs7O1FBQXpDLGNBQThDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7OztPQUFBOzs7OztJQU0xRSx3Q0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7Ozs7OztJQUVELHNDQUFTOzs7OztJQUFULFVBQVUsS0FBYSxFQUFFLElBQVk7UUFDbkMsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdELENBQUM7Ozs7OztJQUVELHNDQUFTOzs7OztJQUFULFVBQVUsS0FBYSxFQUFFLElBQVk7O1lBQzdCLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQztRQUNqRixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTTs7OztRQUFFLFVBQVUsS0FBSztZQUMxQyxPQUFPLCtCQUEyQixLQUFLLFNBQU0sQ0FBQztRQUNoRCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7O2dCQXpCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7OzhCQUVFLFdBQVcsU0FBQyxXQUFXOzBCQUN2QixXQUFXLFNBQUMsZUFBZTt3QkFDM0IsS0FBSzt1QkFDTCxLQUFLOztJQWlCUix5QkFBQztDQUFBLEFBMUJELElBMEJDO1NBckJZLGtCQUFrQjs7O0lBRTdCLHFDQUFpRDs7SUFDakQsbUNBQXVCOztJQUN2QixrQ0FBc0I7O0lBQ3RCLDJDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2QtaGlnaGxpZ2h0JyxcclxuICB0ZW1wbGF0ZTogYGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQEhvc3RCaW5kaW5nKCdpbm5lckhUTUwnKSBnZXQgaHRtbENvbnRlbnQoKSB7IHJldHVybiB0aGlzLmhpZ2hsaWdodEh0bWw7IH1cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5ID0gJ2lubGluZSc7XHJcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXJtOiBzdHJpbmc7XHJcbiAgaGlnaGxpZ2h0SHRtbDogc3RyaW5nO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZ2hsaWdodEh0bWwgPSB0aGlzLnRyYW5zZm9ybSh0aGlzLnZhbHVlLCB0aGlzLnRlcm0pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIHRlcm06IHN0cmluZyk6IGFueSB7XHJcbiAgICByZXR1cm4gdmFsdWUgJiYgdGVybSA/IHRoaXMuaGlnaGxpZ2h0KHZhbHVlLCB0ZXJtKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgaGlnaGxpZ2h0KHZhbHVlOiBzdHJpbmcsIHRlcm06IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cCh0ZXJtLnJlcGxhY2UoL1stW1xcXXt9KCkqKz8uLFxcXFxeJHwjXFxzXS9nLCAnXFxcXCQmJyksICdnaScpO1xyXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UocmVnRXhwLCBmdW5jdGlvbiAobWF0Y2gpIHtcclxuICAgICAgcmV0dXJuIGA8YiBjbGFzcz1cInJlLWhpZ2hsaWdodFwiPiR7bWF0Y2h9PC9iPmA7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19