UNPKG

@true-directive/grid

Version:

Angular Data Grid from Yopsilon.

72 lines 7.4 kB
import * as tslib_1 from "tslib"; /** * Copyright (c) 2018-2019 Aleksey Melnikov, True Directive Company. * @link https://truedirective.com/ * @license MIT */ import { Component, EventEmitter, ViewChild } from '@angular/core'; /** * Component for displaying links. */ var CellRefComponent = /** @class */ (function () { function CellRefComponent() { this.event = new EventEmitter(); this.disabled = false; } Object.defineProperty(CellRefComponent.prototype, "ref", { get: function () { return this.row[this.column.referenceField]; }, enumerable: true, configurable: true }); /** * Found substring's Highlighting * @param v Cell's value * @return Highlighted html */ CellRefComponent.prototype.highlight = function (v) { var s = this.state.dataSource.searchString.toLowerCase(); if (s === '') { return v; } var i = v.toLowerCase().indexOf(s); var start = v.substring(0, i); var found = v.substring(i, i + s.length); var end = v.substring(i + s.length); if (i >= 0) { return start + "<span class='true-hl'>" + found + "</span>" + end; } else { return v; } }; /** * Initialization * @param value Cell's value */ CellRefComponent.prototype.init = function (value) { var hl = this.highlight(value); var t = ""; if (this.column.referenceTarget !== '') { t = " target=\"" + this.column.referenceTarget + "\""; } var a = "<a href=\"" + this.ref + "\"" + t + ">" + hl + "</a>"; this.value = a; this.content.nativeElement.innerHTML = a; }; tslib_1.__decorate([ ViewChild('content', { static: true }), tslib_1.__metadata("design:type", Object) ], CellRefComponent.prototype, "content", void 0); CellRefComponent = tslib_1.__decorate([ Component({ selector: 'true-cell-ref', template: "<div #content></div>", styles: ["\n :host {\n padding: 0;\n }\n "] }) ], CellRefComponent); return CellRefComponent; }()); export { CellRefComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZWYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRydWUtZGlyZWN0aXZlL2dyaWQvIiwic291cmNlcyI6WyJzcmMvY2VsbHMvY2VsbC1yZWYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztFQUlFO0FBQ0YsT0FBTyxFQUFFLFNBQVMsRUFBaUIsWUFBWSxFQUFFLFNBQVMsRUFDdEMsTUFBTSxlQUFlLENBQUM7QUFPMUM7O0dBRUc7QUFVSDtJQVRBO1FBbUJFLFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUtuRCxhQUFRLEdBQVksS0FBSyxDQUFDO0lBeUM1QixDQUFDO0lBbkRDLHNCQUFJLGlDQUFHO2FBQVA7WUFDRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5QyxDQUFDOzs7T0FBQTtJQVVEOzs7O09BSUc7SUFDTyxvQ0FBUyxHQUFuQixVQUFvQixDQUFTO1FBRTNCLElBQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsSUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxJQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLElBQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVixPQUFVLEtBQUssOEJBQXlCLEtBQUssZUFBVSxHQUFLLENBQUM7U0FDOUQ7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsK0JBQUksR0FBSixVQUFLLEtBQVU7UUFDYixJQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEtBQUssRUFBRSxFQUFFO1lBQ3RDLENBQUMsR0FBRyxlQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxPQUFHLENBQUM7U0FDaEQ7UUFFRCxJQUFNLENBQUMsR0FBRyxlQUFZLElBQUksQ0FBQyxHQUFHLFVBQUksQ0FBQyxTQUFJLEVBQUUsU0FBTSxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBcEREO1FBREMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7cURBQzFCO0lBSEYsZ0JBQWdCO1FBVDVCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFFBQVEsRUFBRSxzQkFBc0I7cUJBQ3ZCLCtDQUlOO1NBQ0YsQ0FBQztPQUNTLGdCQUFnQixDQXdENUI7SUFBRCx1QkFBQztDQUFBLEFBeERELElBd0RDO1NBeERZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBBbGVrc2V5IE1lbG5pa292LCBUcnVlIERpcmVjdGl2ZSBDb21wYW55LlxyXG4gKiBAbGluayBodHRwczovL3RydWVkaXJlY3RpdmUuY29tL1xyXG4gKiBAbGljZW5zZSBNSVRcclxuKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCxcclxuICAgICAgICAgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICdAdHJ1ZS1kaXJlY3RpdmUvYmFzZSc7XHJcbmltcG9ydCB7IEdyaWRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9ncmlkLXN0YXRlLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgSUNlbGwgfSBmcm9tICcuL2NlbGwuaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgbGlua3MuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydWUtY2VsbC1yZWYnLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiAjY29udGVudD48L2Rpdj5gLFxyXG4gIHN0eWxlczogW2BcclxuICAgIDpob3N0IHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIGBdXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIENlbGxSZWZDb21wb25lbnQgaW1wbGVtZW50cyBJQ2VsbCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbnRlbnQ6IGFueTtcclxuXHJcbiAgZ2V0IHJlZigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucm93W3RoaXMuY29sdW1uLnJlZmVyZW5jZUZpZWxkXTtcclxuICB9XHJcblxyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbiAgZXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbHVtbjogQ29sdW1uO1xyXG4gIHJvdzogYW55O1xyXG4gIHN0YXRlOiBHcmlkU3RhdGVTZXJ2aWNlO1xyXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvdW5kIHN1YnN0cmluZydzIEhpZ2hsaWdodGluZ1xyXG4gICAqIEBwYXJhbSAgdiBDZWxsJ3MgdmFsdWVcclxuICAgKiBAcmV0dXJuICAgSGlnaGxpZ2h0ZWQgaHRtbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBoaWdobGlnaHQodjogc3RyaW5nKTogc3RyaW5nIHtcclxuXHJcbiAgICBjb25zdCBzID0gdGhpcy5zdGF0ZS5kYXRhU291cmNlLnNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpO1xyXG4gICAgaWYgKHMgPT09ICcnKSB7XHJcbiAgICAgIHJldHVybiB2O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGkgPSB2LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzKTtcclxuICAgIGNvbnN0IHN0YXJ0ID0gdi5zdWJzdHJpbmcoMCwgaSk7XHJcbiAgICBjb25zdCBmb3VuZCA9IHYuc3Vic3RyaW5nKGksIGkgKyBzLmxlbmd0aCk7XHJcbiAgICBjb25zdCBlbmQgPSB2LnN1YnN0cmluZyhpICsgcy5sZW5ndGgpO1xyXG4gICAgaWYgKGkgPj0gMCkge1xyXG4gICAgICByZXR1cm4gYCR7c3RhcnR9PHNwYW4gY2xhc3M9J3RydWUtaGwnPiR7Zm91bmR9PC9zcGFuPiR7ZW5kfWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemF0aW9uXHJcbiAgICogQHBhcmFtICB2YWx1ZSBDZWxsJ3MgdmFsdWVcclxuICAgKi9cclxuICBpbml0KHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IGhsID0gdGhpcy5oaWdobGlnaHQodmFsdWUpO1xyXG5cclxuICAgIGxldCB0ID0gYGA7XHJcbiAgICBpZiAodGhpcy5jb2x1bW4ucmVmZXJlbmNlVGFyZ2V0ICE9PSAnJykge1xyXG4gICAgICB0ID0gYCB0YXJnZXQ9XCIke3RoaXMuY29sdW1uLnJlZmVyZW5jZVRhcmdldH1cImA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYSA9IGA8YSBocmVmPVwiJHt0aGlzLnJlZn1cIiR7dH0+JHtobH08L2E+YDtcclxuICAgIHRoaXMudmFsdWUgPSBhO1xyXG4gICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gYTtcclxuICB9XHJcbn1cclxuIl19